【问题标题】:fillna(0) first but NaN value appears in ilocfillna(0) 首先但 NaN 值出现在 iloc
【发布时间】:2021-08-13 01:09:11
【问题描述】:
df1.fillna(0)
Montant vente   Marge
0   778283.75   13.63598
1   312271.20   9.26949
2   163214.65   14.50288
3   191000.20   9.55818
4   275970.00   12.76534
...     ...     ...
408     2999.80     14.60610
409     390.00  0.00000
410     699.00  26.67334
411     625.00  30.24571
412     0.00    24.79797

x = df1.iloc[:,1:3] # 1t for rows and second for columns
x

Marge
0   13.63598
1   9.26949
2   14.50288
3   9.55818
4   12.76534
...     ...
408     14.60610
409     NaN
410     26.67334
411     30.24571
412     24.79797

413 rows × 1 columns

为什么第409行先有0.000值,然后iloc后有NaN?

ValueError:输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值。

【问题讨论】:

  • fillna 不会改变数据框,除非您提供 inplace=True 选项。否则你需要做df1 = df1.fillna(0)

标签: python pandas nan


【解决方案1】:

您应该了解哪些函数会改变数据框,哪些不会。例如 fillna 不会改变数据帧。相反,您可以使用inplace=True

df1 = df1.fillna(0)

df1.fillna(0, inplace=True)

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 2020-06-24
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多