【问题标题】:How do I replace every NaN value in every column by minimum value of that column in pandas?如何用熊猫中该列的最小值替换每一列中的每个 NaN 值?
【发布时间】:2022-12-03 12:24:59
【问题描述】:

我有一个数据框,我想用列的min()替换每一列中的每个 NaN 值,我该怎么做?

【问题讨论】:

  • pandas 没有 read_png 方法。发布一个最小的工作示例,包括一个包含几行和几列的数据框,以及您迄今为止尝试过的内容。

标签: python pandas dataframe


【解决方案1】:

要用相应列的最小值替换数据框中的所有 NaN 值,您可以结合使用 pandas DataFrame.fillna() 方法和 DataFrame.min() 方法。

例如,假设您有一个数据框 df 具有以下值:

      col1  col2
0     NaN     1
1     NaN     3
2     5.0     2
3     6.0     NaN
4     NaN     4

要用每列的最小值替换所有 NaN 值,可以使用以下代码:

df.fillna(df.min())

这将返回一个新的数据帧,其中 NaN 值替换为每列的最小值:

      col1  col2
0     5.0     1
1     5.0     3
2     5.0     2
3     6.0     1
4     5.0     4

请注意, fillna() 方法只会替换原始数据框中的 NaN 值。如果要保存对原始数据框的更改,可以像这样使用 inplace 参数:

df.fillna(df.min(), inplace=True)

这将替换原始数据帧 df 中的 NaN 值并返回 None。

【讨论】:

    猜你喜欢
    • 2018-03-14
    • 2018-08-24
    • 2020-10-27
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2018-03-16
    • 2020-11-15
    相关资源
    最近更新 更多