gpt4 book ai didi

python - 重新索引 Pandas 数据框多索引的子级别

转载 作者:太空狗 更新时间:2023-10-29 22:30:44 25 4
gpt4 key购买 nike

我有一个时间序列数据框,我想通过试验和测量重新索引它。

简化,我有这个:

                value
Trial
1 0 13
1 3
2 4
2 3 NaN
4 12
3 5 34

我想把它变成这样:

                  value
Trial
1 0 13
1 3
2 4
2 0 NaN
1 12
3 0 34

我怎样才能最好地做到这一点?

最佳答案

就在昨天,杰出的安迪·海登 (Andy Hayden) 将此功能添加到 pandas 0.13 版本中,该版本随时都会发布。参见 here对于他添加到文档中的用法示例。

如果您愿意从源代码安装 pandas 的开发版本,您现在就可以使用它。

df['Measurements'] = df.reset_index().groupby('Trial').cumcount()

下面的代码是等价的,如果不那么简洁的话,并且可以在任何最新版本的 pandas 上运行。

grouped = df.reset_index().groupby('Trial')
df['Measurements'] = grouped.apply(lambda x: Series(np.arange(len(x)), x.index))

最后,df.set_index(['Trial', 'Measurements'], inplace=True) 得到你想要的结果。

关于python - 重新索引 Pandas 数据框多索引的子级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20104874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com