簡體   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