1

我正在尝试用 NaN 值替换像 -1 和 0 这样的整数值。这是代码:

df = df.replace(0, np.nan)
df = df.replace(-1, np.nan)

但是数据框很大:

 <class 'pandas.core.frame.DataFrame'>
 RangeIndex: 891221 entries, 0 to 891220
 Columns: 366 entries, LNR to ALTERSKATEGORIE_GROB
 dtypes: float64(267), int64(93), object(6)
 memory usage: 2.4+ GB

我运行它需要很多时间。

有没有比这段代码更快的替代方法?

4

1 回答 1

3

您正在重新创建数据框,并分配df给一个新对象,并且您正在这样做两次!为什么不像这样进行内联替换?

df.replace([0,-1], np.nan, inplace=True)

inplace是,默认情况下,False。有关更多信息和示例replace,请查看文档

是一个框架代码,它显示与以前的方式相比,以这种方式实现的加速因子几乎是 2 。

于 2019-07-27T10:35:08.793 回答