减去数据框中的两行值 python
Substract two row values in dataframe python
目前我有一种数据框,我想从当前行中减去前一行的值。
示例:
df = pd.Datafame([1,4,3,5,6],columns = ["time")])
left
1
4
3
5
6
我想遍历这些行并将其存储在列表中。所以列表会变成这样 [-3,1,-2,-1].
到目前为止我有这个
list = []
for index, row in df.iterrows():
list.append(row['time'])
现在 for 循环只在遇到行时将值存储在列表中。我怎样才能改变它,它从前一个值中减去当前值并将其存储在列表中?
感谢您的帮助
df['time'].diff(-1).tolist()[:-1]
>>> [-3.0, 1.0, -2.0, -1.0]
您可以使用 .shift(-1)
:
df['time'] = df['left'] - df['left'].shift(-1)
或者如果您需要它作为列表:
(df['left'] - df['left'].shift(-1)).tolist()
目前我有一种数据框,我想从当前行中减去前一行的值。
示例: df = pd.Datafame([1,4,3,5,6],columns = ["time")])
left |
---|
1 |
4 |
3 |
5 |
6 |
我想遍历这些行并将其存储在列表中。所以列表会变成这样 [-3,1,-2,-1].
到目前为止我有这个
list = []
for index, row in df.iterrows():
list.append(row['time'])
现在 for 循环只在遇到行时将值存储在列表中。我怎样才能改变它,它从前一个值中减去当前值并将其存储在列表中?
感谢您的帮助
df['time'].diff(-1).tolist()[:-1]
>>> [-3.0, 1.0, -2.0, -1.0]
您可以使用 .shift(-1)
:
df['time'] = df['left'] - df['left'].shift(-1)
或者如果您需要它作为列表:
(df['left'] - df['left'].shift(-1)).tolist()