python - 使用 np.nan() 查找每行和列的平均值
问题描述
我有一个包含 10 个列的 df,其中包含 2006 年至 2015 年 15 个不同国家/地区的 GDP。我试图获得过去十年的平均 GDP。例如,德国 2006 年至 2015 年的平均 GDP。这是我尝试使用的代码:
avgGDP = pd.DataFrame(Top15,columns=['2006','2007','2008','2009', '2010', '2011', '2012', '2013', '2014', '2015'])
avgGDP['avg10'] = np.nanmean(avgGDP)
但是,我得到每个国家的相同平均值,即德国 1,000,000;西班牙 1,000,000;英国 1,000,000 等
关于如何为每个国家/地区获得个人平均值的任何想法?
编辑:
这是Top15的截图:
解决方案
您可以只过滤空值然后运行平均方法吗?
df = (avgGDP.dropna( inplace = True )).mean()
在我看来,您正在对整个数据帧进行平均以获取一个数组,然后尝试将该数组变成一列。更好的方法也可能是转置数据框并作为列插入:
avgGDP = avgGDP.T
avgGDP['newRow'] = np.nanmean(avgGDP)
avgGDP.T
推荐阅读
- node.js - 按猫鼬中的枚举值排序
- c++ - Qt 正确的无主 QObject 返回语义
- python - 使用 sklearn 计数矢量化器获取 n gram 后缀
- c++ - “表达式必须具有类类型”但是在检查类型时它确实有一个 char 类?
- vbscript - 如何列出组的成员值
- typescript - 约束泛型的对象属性类型
- javascript - 字符串连接添加不需要的字符的问题
- javascript - 为什么我不能从我的数组中抓取特定对象?
- flutter - 如何在 Flutter 中使用 Firebase 根据用户身份验证状态更新主屏幕?
- reactjs - JavaScript click 事件处理程序未在下面的代码中触发