我有这个数据框:a b c d4 7 5 123 8 2 81 9 3 59 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']谁能帮我?
2 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
基本上你想要的是差异。
df = pd.DataFrame.from_dict({"a":[4,3,1,9]})
df["d"] = df["a"].diff(periods=-1)
print(df)
输出
a d
0 4 1.0
1 3 2.0
2 1 -8.0
3 9 NaN
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
让我们尝试简单的方法:
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']=diff
print(df)
a d
0 2 2.0
1 4 4.0
2 8 7.0
3 15 NaN
添加回答
举报
0/150
提交
取消
