添加一个由行差和Pandas移位产生的列[已关闭]

vi4fp9gy  于 2023-01-24  发布在  其他
关注(0)|答案(2)|浏览(102)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
假设我有这样一个 Dataframe
| 色谱柱A|
| - ------|
| 项目a|
| b.人口基金|
| (c)秘书长的报告|
| 日|
| 电子|
| f级|
a,b,c,d,e,f是值。我需要能够添加一列到原始 Dataframe ,这是通过计算行的差异。
所以我需要这样的东西
| 色谱柱A|新增|
| - ------|- ------|
| 项目a|乙-甲|
| b.人口基金|无|
| (c)秘书长的报告|直流|
| 日|无|
| 电子|f-e|
| f级|无|
我在dataframe/series上看到了一个名为diff的东西,但它的作用略有不同,因为第一个元素将变为Nan

bxjv4tth

bxjv4tth1#

您可以用途:

import numpy as np

df['New'] = df['Column A'].diff(-1).mul(-1).mask(np.arange(len(df))%2==1, 0)
3mpgtkmj

3mpgtkmj2#

您可以使用.shift(-1)

df['New'] = df['Column A'].shift(-1) - df['Column A']
df.loc[df.index % 2 == 1, 'New'] = 0

相关问题