【问题标题】:pandas - not in index熊猫 - 不在索引中
【发布时间】:2017-02-18 17:20:12
【问题描述】:

我正在尝试将“A”列(第一个出现在第 9 行)中的 nan 值替换为之前的行

y = len(df)
for i in range(1,y):
     if (np.isnan(df.ix[i,'A'])):
         df.ix[i,'A'] = dfH.ix[i-1,'A']

给出错误

KeyError: "[9 'A'] not in index"

但第 9 行 A 列显然在我的数据框中。这是怎么回事?

【问题讨论】:

  • Dataframe有一个函数fillna来处理这个。例如“回填”
  • 但是如何用前一行条目填充它?

标签: pandas indexing nan


【解决方案1】:

另一种解决方案:

df['A'].ffill(inplace = True)

示例:

df = pd.DataFrame({'A':[1,np.nan,3]})
print (df)
     A
0  1.0
1  NaN
2  3.0

df['A'].ffill(inplace = True)

print (df)
     A
0  1.0
1  1.0
2  3.0

【讨论】:

    【解决方案2】:

    您可以将fillnaffill 方法一起使用:

    df['A'].fillna(method='ffill', inplace = True)
    

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 2016-10-16
      • 2019-01-19
      • 1970-01-01
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      相关资源
      最近更新 更多