Python 如果行不是nan,则将前几个角色的值设为行的值
我有一个数据帧,如下所示:Python 如果行不是nan,则将前几个角色的值设为行的值,python,pandas,Python,Pandas,我有一个数据帧,如下所示: 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 谢谢 如果缺少另一个值,请使用带限制参
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
你是对的!我已经修改了这个问题。谢谢你指出错误。@MATTHEW-谢谢,很乐意帮忙。如果适合你,别忘了接受答案!:)