如何将不同行上的同一个人(在不同交易中)的不同信息移动到一行?

时间:2017-10-13 20:44:29

标签: python database pandas

我在Pandas中有一个像这样的数据框:

Id      Name    LogIn
1       Kate    01/10/16
2       Nancy   02/21/17
3       Kate    03/12/17
4       Kate    04/17/17
5       Nancy   05/10/17

这些是不同客户的“登录”信息。我希望每个客户只有一行,并列出他/她的“登录”日期。类似的东西:

Name    LogIn1     LogIn2    LogIn3
Kate    01/10/16   03/12/17  04/17/17
Nancy   02/21/17   05/19/17  Nan

我怎么能在熊猫中做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您不介意我将log1更改为log0

MyConventions

如果您需要完全相同的话。

df.groupby('Name').LogIn.apply(list).apply(pd.Series).add_prefix('LogIn')
Out[332]: 
         LogIn0    LogIn1    LogIn2
Name                               
Kate   01/10/16  03/12/17  04/17/17
Nancy  02/21/17  05/10/17       NaN