首页 > 解决方案 > 用 Pandas 中的前一行列填充当前行和列值

问题描述

我有一组读数,我需要当前和以前的值来测量一些参数。如何在 pandas 中轻松填充,以便当前行、列值取自前一行、列值。如果 prev row,col 没有退出,那么我想用 -1 或na任何东西填充。

 events  = np.array([[  3.,   -1., 441., 780.,  30., 262.,   0.,   0.,   0.,  -1.],
       [  4.,   3., 437., 770.,  30., 274.,   0.,   0.,   0.,  -1.],
       [  5.,   4, 431., 754.,  31., 286.,   0.,   0.,   0.,  -1.]]) 

df=pd.DataFrame(data=events, columns=["curr", "expected_prev", "f1", "f2", "f3", "f4", "f5", "f6", "f7","prev"])

例如,我想在熊猫数据框中填充值,如下所示。下面expected_prev是硬编码的,我如何生成或填充prevpandas 中的列。

在此处输入图像描述

标签: pythonpython-3.xpandas

解决方案


检查与shift

df['exp_pre'] = df['curr'].shift().fillna(-1)

推荐阅读