Python 如何将特定列更改为行,而不更改表中的其他列?
我有这样的数据帧:Python 如何将特定列更改为行,而不更改表中的其他列?,python,pandas,group-by,Python,Pandas,Group By,我有这样的数据帧: Date ID Age Gender Fruits 1.1.19 1 50 F Apple 2.1.19 1 50 F Mango 2.1.19 1 50 F Orange 1.1.19 2 75 M
Date ID Age Gender Fruits
1.1.19 1 50 F Apple
2.1.19 1 50 F Mango
2.1.19 1 50 F Orange
1.1.19 2 75 M Grapes
4.1.19 3 20 M Apple
4.1.19 3 20 M Grapes
我想将“水果”列转换为其他列,为每个人提供二进制信息yes/no。
期望的输出是这样的。丢失的日期应该是NaN
Date ID Age Gender Apple Mango Orange Grapes
1.1.19 1 50 F 1 0 0 0
1.1.19 2 75 M 0 0 0 1
2.1.19 1 50 F 0 1 1 0
3.1.19 NaN NaN NaN NaN NaN NaN NaN
4.1.19 3 20 M 1 0 0 1
我想使用groupby,但我不需要任何聚合
pd.get_dummies(df, columns=['Fruits'], prefix='', prefix_sep='')
更新
pd.get_dummies(df, columns=['Fruits'], prefix='', prefix_sep='').groupby('Date').max()
更新
pd.get_dummies(df, columns=['Fruits'], prefix='', prefix_sep='').groupby('Date').max()
仍然缺少3.1.19df.joinpd.get_dummiesdf的条目,columns=['Fruits',prefix=,prefix_sep=部分正确,因为在2.1.19中,id 1有两个结果,但我需要,在1行中。在您的解决方案中,它为每个项目添加了一行。我不明白为什么会出现这种类型错误:“仍然缺少3.1.19df.joinpd.get_dummiesdf的条目,columns=['Fruits'],prefix=,prefix_sep=部分正确,因为在2.1.19中,id 1有两个结果,但我需要,在1行中。在您的解决方案中,它为每个项目添加了一行。我不明白为什么会出现这种类型错误:'