将panda中一列的多行整理为一行,同时保持列的数据类型

我有一个像这样几列的熊猫


username A time place

AAA      B 1    YYY

AAA      C 2    YYY

AAA      D 1    YYY

AAA      B 3    ZZZ

AAA      C 4    ZZZ

AAA      B 3    ZZZ

BBB      B 1    YYY

BBB      C 2    YYY

BBB      D 1    YYY

BBB      B 7    ZZZ

BBB      C 8    ZZZ

BBB      B 9    ZZZ

CCC      B 6    YYY

CCC      C 5    YYY

CCC      D 8    YYY

CCC      B 7    ZZZ

CCC      C 8    ZZZ

CCC      B 9    ZZZ

在上面的panda中,除了time之外的所有列都是字符串。时间是一个浮动列。


我正在尝试创建一个序列,以便对于每个用户名,我希望将用户名的所有行整理为一行。输出数据框希望看起来像这样。


username A           time        place

AAA      B+C+D+B+C+B 1+2+1+3+4+3 YYY+YYY+YYY+ZZZ+ZZZ+ZZZ

BBB      B+C+D+B+C+B 1+2+1+7+8+9 YYY+YYY+YYY+ZZZ+ZZZ+ZZZ

CCC      B+C+D+B+C+B 6+5+8+7+8+9 YYY+YYY+YYY+ZZZ+ZZZ+ZZZ

我使用“+”作为分隔符,但它可以是通常用于分隔符的任何字符(如 ,/ \ ..etc)


我已经能够使用


df.groupby('username')['A].apply('+',join).reset_index()

所有列都相同。我终于合并了所有单独的 df 以获得我想要的表格。


对于我能够做的时间列,但我希望得到一个浮动类型的列。我很难做到这一点。希望有更多知识的人可以在这里指导我。


我什至尝试在事后使用 df['time'].astype(float) 更改输出列


但是我得到了所有的 NaN。


牧羊人nacy
浏览 192回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python