python - 向数据框添加一列以计算跨行的平均值 - 获取所有返回的 'NaNs'

标签 python pandas dataframe mean

我正在尝试向我的数据框添加一列,以计算我的数据框列子集的行间平均值。我正在尝试这个(Min1-Min5 是我想要平均值的列子集的名称):

df_temps['MinAvg'] = df_temps[['Min1', 'Min2', 'Min3', 'Min4', 'Min5']].mean(axis=1)

但它返回一个名为 MinAvg 的列,其中包含所有 NaN 值。我的数据框中没有 NA 或缺少数据点。 shows screenshot of column with all NANs

更新:所有最小变量都是从 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/

相关文章:

r - 合并两个数据框并替换R中的NA值

python - 如何在 python 中使用 pandas 将多项选择题转换为可读数据?

python - 我们如何有效地检查一个字符串列表是否包含另一个字符串列表中的单词?

python - 使用 for 循环在 PIL 上打开多个图像

python - 如何确保两个 pandas 数据框仅覆盖相同的日期

python - 在其他列中选择满足多个条件的列值

python - 使用一个参数属性作为另一个参数的默认值?

python - 使用模平方的 Rabin-Miller 素数测试算法是否正确?

python - 将 Pandas DataFrame的每一行转换为单独的Json字符串

r - 合并两个数据框,同时保持原始行顺序