You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何处理Pandas中使用inplace方法引发的FutureWarning

解决pandas替换空值并删除空行的FutureWarning警告

原代码存在两个问题:一是链式索引配合inplace=True触发了pandas的FutureWarning,二是dropna使用inplace=True时会返回None,导致df1被赋值为无效值。

修改方案1:生成新的DataFrame(不修改原df)

# 替换空值为nan,生成新的Series赋值回原列
df['CellNRARFCN'] = df['CellNRARFCN'].replace('', np.nan)
# 生成新的DataFrame存储删除空行后的结果
df1 = df.dropna(subset=['CellNRARFCN'])

修改方案2:原地修改原DataFrame

如果不需要保留原df,可以直接在原对象上操作:

# 用df.replace方法指定列进行替换,避免链式索引
df.replace({'CellNRARFCN': ''}, np.nan, inplace=True)
# 原地删除空行,无需赋值给变量
df.dropna(subset=['CellNRARFCN'], inplace=True)

关键说明

  • 避免df['col'].method(inplace=True)这种链式操作,改用df['col'] = df['col'].method()直接赋值,或者使用df.replace()这种支持指定列的DataFrame级方法,确保操作作用在原对象上。
  • 当使用inplace=True时,方法不会返回新的DataFrame,不要将其赋值给变量,否则会得到None。

内容的提问来源于stack exchange,提问作者syed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:37:37