计算数据框列中的值之间的差异

我有这个数据框:


a   b   c   d

4   7   5   12

3   8   2   8

1   9   3   5

9   2   6   4

我希望列 'd' 成为列 a 的 n 值和列 'a' 的 n+1 值之间的差异。我试过了,但它没有运行:


for i in data.index-1:

data.iloc[i]['d']=data.iloc[i]['a']-data.iloc[i+1]['a']

谁能帮我?


心有法竹
浏览 120回答 2
2回答

回首忆惘然

基本上你想要的是差异。df = pd.DataFrame.from_dict({"a":[4,3,1,9]})df["d"] = df["a"].diff(periods=-1)print(df)输出   a    d0  4  1.01  3  2.02  1 -8.03  9  NaN

拉莫斯之舞

让我们尝试简单的方法:df=pd.DataFrame.from_dict({'a':[2,4,8,15]})diff=[]for i in range(len(df)-1):    diff.append(df['a'][i+1]-df['a'][i])diff.append(np.nan)df['d']=diffprint(df)    a   d0   2   2.01   4   4.02   8   7.03   15  NaN
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python