我希望能够在 pandas 中使用 groupby 按列对数据进行分组,然后将其拆分,以便每个组都是数据框中自己的列。
e.g.:
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.
into
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)