gpt4 book ai didi

python - pandas:当索引不唯一时,将 diff 与 groupby 结合使用时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 00:21:41 25 4
gpt4 key购买 nike

我正在使用 (版本 0.20.3),我想将 diff() 方法与 groupby() 一起应用,但不是 DataFrame,结果是“下划线”。

代码如下:

import numpy as np
import pandas as pd

# creating the DataFrame
data = np.random.random(18).reshape(6,3)
indexes = ['B']*3 + ['A']*3
columns = ['x', 'y', 'z']
df = pd.DataFrame(data, index=indexes, columns=columns)
df.index.name = 'chain_id'

# Now I want to apply the diff method in function of the chain_id
df.groupby('chain_id').diff()

结果是下划线!

请注意 df.loc['A'].diff()df.loc['B'].diff() 会返回预期结果,因此我不明白为什么它不能与 groupby() 一起使用。

最佳答案

IIUC,您的错误:无法从重复轴重新索引

df.reset_index().groupby('chain_id').diff().set_index(df.index)
Out[859]:
x y z
chain_id
B NaN NaN NaN
B -0.468771 0.192558 -0.443570
B 0.323697 0.288441 0.441060
A NaN NaN NaN
A -0.198785 0.056766 0.081513
A 0.138780 0.563841 0.635097

关于python - pandas:当索引不唯一时,将 diff 与 groupby 结合使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48888843/

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