如上图。
日期这一列已经设置成了index,如果我们选定日期“20230206”的时候,如何让它上面这行的“20230203”参与运算呢?
望采纳我的,shift是对数据行进行上下平移,并不能解决您的问题,我的解决思路是获取当前行的下标-1就是上一行的数据:
import pandas as pd
data = {'var1': ['213', '213'],
'var2': ['如歌', '如歌'],
'var3': [-36894.30, -79736.98],
'var4': [0.003390, 0.005110],
'var5': [523333, 5222322]
}
df = pd.DataFrame(data, index=[20230203, 20230206])
print(df)
# 选择上一行
row = df.iloc[df.index.values.tolist().index(20230206)-1]
# 打印结果
print(row)
运行结果: