我有一个如下所示的数据帧:
df = pd.DataFrame([np.nan]*99,columns = ['col1'])
df.loc[23] = 70
df.loc[35] = 50
df.loc[90] = 81
df.loc[98] = 3
如何使新列 (col2( 的值成为 df col1 的前几 (x( 行的值,成为具有值的行的值?例如,如果 x = 4,则使第 20-23 行为 70,第 32-35 行为 50,第 87-90 行为 81,第 95-98 行为 3?
谢谢!
如果缺少其他值,请使用带有限制参数的回填:
df1 = df.bfill(limit=3)
print (df1.tail(15))
col1
84 NaN
85 NaN
86 NaN
87 81.0
88 81.0
89 81.0
90 81.0
91 NaN
92 NaN
93 NaN
94 NaN
95 3.0
96 3.0
97 3.0
98 3.0