繁体   English   中英

如何在groupby之后将pandas数据帧拆分为多个列

[英]How to split a pandas dataframe into many columns after groupby

我希望能够在pandas中使用groupby按列对数据进行分组,然后将其拆分,以便每个组在数据帧中都是自己的列。

例如:

   time  data
 0    1   2.0
 1    2   3.0
 2    3   4.0
 3    1   2.1
 4    2   3.1
 5    3   4.1
 etc.

       data1  data2  ... dataN
 time  
 1     2.0      2.1  ...
 2     3.0      3.1  ...
 3     4.0      4.1  ...

我确定开始的地方是df.groupby('time')但是我似乎无法找出使用concat(或其他函数)构建我想要的拆分数据框架的正确方法。 我可能会在API中忽略一些简单的功能。

我同意@PhillipCloud。 我认为这可能是解决问题的一个中间步骤,但是如果没有中间步骤,可能更容易陷入你真正想要解决的问题。

但如果这是你真正想要的,你可以使用:

>>> df.groupby('time').apply(
        lambda g: pd.Series(g['data'].values)
    ).rename(columns=lambda x: 'data%s' % x)

      data0  data1
time              
1         2    2.1
2         3    3.1
3         4    4.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM