假设我有一个像这样的数据框
A B
0 a b
1 c d
2 e f
3 g h
0、1、2和3是时间,a、c、e和g是一个时间序列,而b、d、f和h是另一个时间序列。我需要能够为原始数据框添加两列,这是通过计算某些列的相邻行之间的差异得到的。
因此,我需要类似于以下内容:
A B dA
0 a b (a-c)
1 c d (c-e)
2 e f (e-g)
3 g h Nan
我在dataframe/series上看到了一个叫做diff的东西,但它的作用有些不同,因为第一个元素会变成NaN。
fillna
,但如果你正在向下移动,第一行的合理值是什么? - exp1orerfillna
。例如df['dA'].fillna(0)
。 - exp1orershift
方法无关。这是一篇非常长的文章 https://www.dataquest.io/blog/settingwithcopywarning/ 和一个更短的stackoverflow答案,可能会有所帮助 https://dev59.com/8WIj5IYBdhLWcg3wHhlX - exp1orer