如果行不是 nan,则使前几个角色的值成为行的值

  • 本文关键字:几个 角色 nan 如果 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?

谢谢!

如果缺少其他值,请使用带有限制参数的回填:

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

最新更新