Python 熊猫数据帧-具有重新组织数据的新数据帧

Python 熊猫数据帧-具有重新组织数据的新数据帧,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我对Pandas还不熟悉,正在尝试从现有的数据帧创建一个新的数据帧 我当前的数据帧具有以下格式: ID Country Status ABC USA Go ABC Columbia Stop ABC Japan Pause ABC Egypt Go DEF Canada Go DEF Peru Stop 我正试图整合数据,使其更加紧凑。我的新格式是: ID Go Stop Pa

我对Pandas还不熟悉,正在尝试从现有的数据帧创建一个新的数据帧

我当前的数据帧具有以下格式:

ID   Country    Status  
ABC  USA        Go
ABC  Columbia   Stop
ABC  Japan      Pause
ABC  Egypt      Go 
DEF  Canada     Go
DEF  Peru       Stop
我正试图整合数据,使其更加紧凑。我的新格式是:

ID   Go          Stop      Pause
ABC  USA, Egypt  Columbia  Japan
DEF  Canada      Peru
基本上,可能的状态值成为列,对于每个ID,这些列都填充有具有该状态的国家的列表。我是 对熊猫来说是新事物,正在努力寻找最好的方法来解决这个问题——任何建议都将不胜感激

您可以使用:

您可以使用:


如果你一定要这样做,那么你就是这样做的

In [48]: df.groupby(['ID', 'Status'])['Country'].apply(','.join).unstack()
Out[48]:
Status         Go  Pause      Stop
ID
ABC     USA,Egypt  Japan  Columbia
DEF        Canada    NaN      Peru

如果你一定要这样做,那么你就是这样做的

In [48]: df.groupby(['ID', 'Status'])['Country'].apply(','.join).unstack()
Out[48]:
Status         Go  Pause      Stop
ID
ABC     USA,Egypt  Japan  Columbia
DEF        Canada    NaN      Peru

这似乎是个坏主意。目的是什么?@Denziloe,在我看来,输出并不比输入差。至少我们在这些系列中没有列表。@Denzlioe这主要是为了演示的目的-为了简单起见,我正在处理的实际数据比这里显示的数据有更多的列。我的用户喜欢每个ID有一行。这似乎是个坏主意。目的是什么?@Denziloe,在我看来,输出并不比输入差。至少我们在这些系列中没有列表。@Denzlioe这主要是为了演示的目的-为了简单起见,我正在处理的实际数据比这里显示的数据有更多的列。我的用户希望每个ID有一行。谢谢,@jpp。这很有魅力。谢谢你帮了一个初学者。谢谢,@jpp。这很有魅力。谢谢你帮助一个初学者。