Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 对除当前值以外的所有值执行交叉转换_Python_Pandas_Python 2.7 - Fatal编程技术网

Python 对除当前值以外的所有值执行交叉转换

Python 对除当前值以外的所有值执行交叉转换,python,pandas,python-2.7,Python,Pandas,Python 2.7,我有以下数据集: ID Animal 1 Dog 1 Cat 1 Turtle 2 Turkey 2 Dog 2 Cat 3 Tiger 3 Antelope 我的目标是创建一个交叉表,但是我想把ID和动物的每一个组合都当作一个唯一的ID,这样我就可以得到下面的输出 不幸的是,我使用的是python2.7,因此它必须在那里兼容。尝试。获取虚拟对象,并将结果连接到数据帧 df.join(pd.get_dummies(df.Animal)) ID

我有以下数据集:

ID  Animal
1   Dog
1   Cat
1   Turtle
2   Turkey
2   Dog
2   Cat
3   Tiger
3   Antelope
我的目标是创建一个交叉表,但是我想把ID和动物的每一个组合都当作一个唯一的ID,这样我就可以得到下面的输出


不幸的是,我使用的是python2.7,因此它必须在那里兼容。

尝试
。获取虚拟对象,并
将结果连接到数据帧

df.join(pd.get_dummies(df.Animal))



    ID    Animal  Antelope  Cat  Dog  Tiger  Turkey  Turtle
0   1       Dog         0    0    1      0       0       0
1   1       Cat         0    1    0      0       0       0
2   1    Turtle         0    0    0      0       0       1
3   2    Turkey         0    0    0      0       1       0
4   2       Dog         0    0    1      0       0       0
5   2       Cat         0    1    0      0       0       0
6   3     Tiger         0    0    0      1       0       0
7   3  Antelope         1    0    0      0       0       0

使用pivot,然后用concat填充

df = pd.concat([df,df.pivot(columns='animal',values='animal').notnull().astype('int').fillna(0)],axis=1)
print(df)