【发布时间】:2019-02-01 00:05:15
【问题描述】:
我正在尝试向我的数据框中添加一列,以计算我的数据框列子集的行的平均值。我正在尝试这个(Min1-Min5 是我想要平均的列子集的名称):
df_temps['MinAvg'] = df_temps[['Min1', 'Min2', 'Min3', 'Min4', 'Min5']].mean(axis=1)
但它会返回一个名为 MinAvg 的列,其中包含所有 NaN 值。我的数据框中没有NA 或缺少数据点。
更新:所有最小变量都是从 API 中提取的字符串类型。因此,我需要根据下面的反馈将其从字符串更改为带有 (.astype(float)) 的浮点数!感谢您的帮助!
【问题讨论】:
-
如果您分享您的数据样本会有所帮助。
-
似乎值不是数字,所以使用
df_temps['MinAvg'] = df_temps[['Min1', 'Min2', 'Min3', 'Min4', 'Min5']].astype(float).mean(axis=1) -
@jezrael 谢谢!这有效,值是从 API 作为字符串类型提取的,所以我需要 .astype(float) 来实际计算平均值。
-
@Peyman 谢谢我将编辑它以显示我最初添加到我的数据框中的值是来自 API 的字符串。所以我需要上面提到的jazrael 的.astype(float) 片段。
标签: python pandas dataframe mean