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

2024-09-28 22:26:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在熊猫中有这样一个数据帧:

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

我怎样才能在熊猫身上做呢


Tags: 数据name信息id客户loginnankate
1条回答
网友
1楼 · 发布于 2024-09-28 22:26:00

如果你不介意我把log1改成log0

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

如果你需要完全一样的

df=df.groupby('Name').LogIn.apply(list).apply(pd.Series)
df.columns+=1
df.add_prefix('LogIn').rename_axis(None)
Out[338]: 
         LogIn1    LogIn2    LogIn3
Kate   01/10/16  03/12/17  04/17/17
Nancy  02/21/17  05/10/17       NaN

相关问题 更多 >