向dataframe中添加一列,该列计算行间的平均值Getting all'nan'returned

2024-09-29 17:21:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试向数据框中添加一列,该列计算数据框列子集的行平均值。我正在尝试这个(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

更新:所有Min变量都是从API中提取的字符串类型。因此,我需要根据下面的反馈将它从一个字符串更改为一个带有(.astype(float))的float!谢谢你的帮助


Tags: 数据字符串名称dffloat子集平均值temps
1条回答
网友
1楼 · 发布于 2024-09-29 17:21:39

问题是值的类型是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)

相关问题 更多 >

    热门问题