【问题标题】:How to calculate the mean of a pandas DataFrame with NaN values如何计算具有 NaN 值的 pandas DataFrame 的平均值
【发布时间】:2016-10-24 15:20:54
【问题描述】:

我有一个如下所示的DataFrame(地址键是索引):

address date1 date2 date3 date4 date5 date6 date7 <email> NaN NaN NaN 1 NaN NaN NaN

我想计算一行的平均值,但是当我使用DataFrame.mean(axis=1) 时,我得到NaN(在上面的示例中,我想要一个平均值为 1)。即使我使用DataFrame.mean(axis=1, skipna=True, numeric_only=True),我也会得到NaN。如何获得此 DataFrame 中各行的正确均值?

【问题讨论】:

    标签: python pandas dataframe nan mean


    【解决方案1】:

    尽管您的 dtype 看起来不是数字,因此是 NaN 值,您需要使用 astype 转换类型:

    df['date4'] = df['date4'].astype(int)
    

    然后它将起作用,具体取决于您如何加载/创建此数据,那么它应该是您应该在那个阶段更正的东西,而不是尽可能作为后处理步骤

    您可以确认 dtypes 是什么,但查看来自 df.info() 的输出,也可以使用 select_dtypes 过滤掉非数字列:df.select_dtypes(include=[np.number]) 以仅选择数字列

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 2016-04-04
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      相关资源
      最近更新 更多