我正在尝试向我的数据框添加一列,以计算我的数据框列子集的行间平均值。我正在尝试这个(Min1-Min5
是我想要平均值的列子集的名称):
df_temps['MinAvg'] = df_temps[['Min1', 'Min2', 'Min3', 'Min4', 'Min5']].mean(axis=1)
但它返回一个名为 MinAvg
的列,其中包含所有 NaN
值。我的数据框中没有 NA
或缺少数据点。
更新:所有最小变量都是从 API 中提取的字符串类型。因此,我需要根据下面的反馈,使用 (.astype(float)) 将它从字符串更改为 float !感谢您的帮助!
最佳答案
问题是值的类型是string
,所以需要将它们转换成float
:
cols = ['Min1', 'Min2', 'Min3', 'Min4', 'Min5']
df_temps['MinAvg'] = df_temps[cols].astype(float).mean(axis=1)
或重新分配返回转换后的列:
df_temps = df_temps.astype(float)
df_temps['MinAvg'] = df_temps.mean(axis=1)
关于python - 向数据框添加一列以计算跨行的平均值 - 获取所有返回的 'NaNs',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52022570/