我有一个DF,其中列出了15个国家/地区作为索引和10列数据。 14个国家/地区的所有10个列均具有值。其中1个国家/地区的值仅在9列中,而在最后一列中具有NaN值
我想找到每个国家10列的平均值。对于拥有NaN的国家,我想忽略NaN,并从9列中计算平均值。
从下面的结果。我以为nanmean的用途是忽略带有nan的值,并计算没有nan的均值。但是,对于伊朗在nan为2015的情况,def函数的返回值为nan。我想念什么?
我使用以下-
def findnanmean(row):
columns_to_keep = ['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015']
newrow = row[columns_to_keep]
newnp = pd.Series({'nanmean': np.mean(newrow)})
return newnp
Rankdf.apply(findnanmean, axis=1)
Australia 1.164043e+12
Brazil 2.189794e+12
Canada 1.660647e+12
China 6.348609e+12
Germany 3.493025e+12
Spain 1.418078e+12
France 2.681725e+12
United Kingdom 2.487907e+12
India 1.769297e+12
Iran NaN
Italy 2.120175e+12
Japan 5.542208e+12
South Korea 1.106715e+12
Russian Federation 1.565459e+12
United States 1.536434e+13