在申请收益中使用nanmean返回值NaN

时间:2018-09-09 08:03:52

标签: python

我有一个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

0 个答案:

没有答案