Pandas与diff()

2024-05-18 09:38:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经对值进行了区分,但我无法使用diffinv()对其进行取消区分

    ds_sqrt=np.sqrt(ds)
    ds_sqrt=pd.DataFrame(ds_sqrt)
    ds_diff=ds_sqrt.diff().values

有人能说怎么才能消除这一点??在


Tags: dataframenpdsdiffsqrt区分pdvalues
1条回答
网友
1楼 · 发布于 2024-05-18 09:38:56

您可以通过numpy完成此操作。算法courtesy of @Divakar。在

当然,你需要知道你的系列的第一个项目,这样才能起作用。在

df = pd.DataFrame({'A': np.random.randint(0, 10, 10)})
df['B'] = df['A'].diff()

x, x_diff = df['A'].iloc[0], df['B'].iloc[1:]
df['C'] = np.r_[x, x_diff].cumsum().astype(int)

#    A    B  C
# 0  8  NaN  8
# 1  5 -3.0  5
# 2  4 -1.0  4
# 3  3 -1.0  3
# 4  9  6.0  9
# 5  7 -2.0  7
# 6  4 -3.0  4
# 7  0 -4.0  0
# 8  8  8.0  8
# 9  1 -7.0  1

相关问题 更多 >