2017-04-04 338 views
0

我有一个由多列组成的数据集,我想通过在Python中使用groupby函数来计算平均值。但是,由于其中一些值为NAN,因此如果存在NAN值,则该特定组的平均值为NAN。我想省略这个值,不要将它设置为零或用任何统计变量填充它,只是省略。如何在pandas中应用groupyby时忽略NaN值

任何想法,我可以如何实现这一目标?

在此先感谢!

+0

我认为,在默认情况下,平均方法忽略NaN的。请发布您的代码。 –

+0

我怀疑你的'NAN'是字符串。 – piRSquared

+0

嗨!谢谢,在之前的计算中,我用这个'pd.np.nan'强制使用NA值。可能这不是做这件事的方法。我如何执行NAN值? –

回答

0

我得到该特定组的平均值是NAN当NAN值 存在

假的! :)

均值将只考虑非空值。你安全我的男人。

1

楠由mean方法忽略:

import pandas as pd 
import numpy as np 

df = pd.DataFrame({'a': [1, 1, 2, 2], 'b': [3., 4., np.nan, 5.]}) 
# a b 
# 0 1 3 
# 1 1 4 
# 2 2 NaN 
# 3 2 5 

df.groupby('a').mean() 
#  b 
# a  
# 1 3.5 
# 2 5.0