创建一个唯一的列,但通过将其移动到新列来维护内容



我有这个数据帧:

date        |   fruit
|   
2019-05-30  |   apples   
2019-05-30  |   bananas   
2020-01-12  |   oranges
2020-02-14  |   oranges
2020-02-14  |   bananas
2020-03-20  |   apples
2020-03-20  |   oranges
2020-04-05  |   apples

我想将日期列减少到其唯一值,但通过将其移动到自己的列来保留出现在重复日期行上的所有数据。像这样:

date        |   apples  |   bananas  |   oranges
|           |            |              
2019-05-30  |   apples  |   bananas  |     
2020-01-12  |           |            |   oranges
2020-02-14  |           |   bananas  |   oranges
2020-03-20  |   apples  |            |   oranges
2020-04-05  |   apples  |            |

我能想出几种方法来做到这一点,但它们都很冗长,不像熊猫。有优雅的方法吗?

只需使用DataFrame.pivot:

df.pivot(index='date', columns='fruit', values='fruit')

最新更新