Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 将值作为索引,如果数据框中存在值,则将值替换为1_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 将值作为索引,如果数据框中存在值,则将值替换为1

Python 3.x 将值作为索引,如果数据框中存在值,则将值替换为1,python-3.x,pandas,Python 3.x,Pandas,我有一个如下所示的数据帧: Snoopy Mickey Minnie Garfield SnowWhite 0 John Mike Steve Joe Jack 1 Mike Jack April Joy John 2 Steve Joe Jack Mike Jake 3

我有一个如下所示的数据帧:

      Snoopy    Mickey     Minnie     Garfield      SnowWhite
0     John      Mike       Steve      Joe           Jack
1     Mike      Jack       April      Joy           John
2     Steve     Joe        Jack       Mike          Jake
3                          Joy
      Snoopy    Mickey     Minnie     Garfield      SnowWhite
John  1         0          0          0             1
Mike  1         1          0          1             0
Steve 1         0          1          0             0
Jack  0         1          1          0             1
Joe   0         1          0          1             0
April 0         0          1          0             0
Joy   0         0          1          1             0
Jake  0         0          0          0             1
我希望将所有列中的所有唯一值转换为索引,并将值设为1和0,如下所示:

      Snoopy    Mickey     Minnie     Garfield      SnowWhite
0     John      Mike       Steve      Joe           Jack
1     Mike      Jack       April      Joy           John
2     Steve     Joe        Jack       Mike          Jake
3                          Joy
      Snoopy    Mickey     Minnie     Garfield      SnowWhite
John  1         0          0          0             1
Mike  1         1          0          1             0
Steve 1         0          1          0             0
Jack  0         1          1          0             1
Joe   0         1          0          1             0
April 0         0          1          0             0
Joy   0         0          1          1             0
Jake  0         0          0          0             1
我还列出了所有唯一值:

clients = ['John','Mike','Steve','Jack','Joe','April','Joy','Jake']

这可能吗?谢谢大家!

我将使用
melt
crosstap

s=df.melt()
s=pd.crosstab(s.variable,s.value)
Out[8]: 
value      April  Jack  Jake  Joe  John  Joy  Mike  Steve
variable                                                 
Garfield       0     0     0    1     0    1     1      0
Mickey         0     1     0    1     0    0     1      0
Minnie         1     1     0    0     0    0     0      1
Snoopy         0     0     0    0     1    0     1      1
SnowWhite      0     1     1    0     1    0     0      0