Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 只有当存在一定数量的数值时,熊猫才会取平均值_Python_Pandas_Mean - Fatal编程技术网

Python 只有当存在一定数量的数值时,熊猫才会取平均值

Python 只有当存在一定数量的数值时,熊猫才会取平均值,python,pandas,mean,Python,Pandas,Mean,我有一个具有三个值的数据集,如下所示: ID x y z A 1 NA NA A 1 1 0.6 A 1 NA 0.4 B NA NA NA B NA 0.5 1 B NA 0.5 NA ... ID x y z A 1 NA 0.5 B NA 0.5 NA 我想对A和B采用三重的方法,但前提是每个列和组有两个或更多的数值。所以结果应该是这样的: ID x y z A 1 NA NA

我有一个具有三个值的数据集,如下所示:

ID  x   y   z
A   1   NA  NA
A   1   1   0.6
A   1   NA  0.4
B   NA  NA  NA
B   NA  0.5 1
B   NA  0.5 NA
...
ID  x   y   z
A   1   NA  0.5
B   NA  0.5 NA
我想对A和B采用三重的方法,但前提是每个列和组有两个或更多的数值。所以结果应该是这样的:

ID  x   y   z
A   1   NA  NA
A   1   1   0.6
A   1   NA  0.4
B   NA  NA  NA
B   NA  0.5 1
B   NA  0.5 NA
...
ID  x   y   z
A   1   NA  0.5
B   NA  0.5 NA

使用
mean
groupby
得到所有列值的结果。如何添加仅当存在一定数量的数值时才计算平均值的免责声明

我们可以用
sum
进行
minu count
,然后用
count
进行除法。PS:有趣的是,我们在
平均值

s=df.groupby('ID').sum(min_count=2)/df.groupby('ID').count()
Out[178]: 
      x    y    z
ID               
A   1.0  NaN  0.5
B   NaN  0.5  NaN

我们可以用
sum
进行
minu count
,然后用
count
进行除法。PS:有趣的是,我们在
平均值

s=df.groupby('ID').sum(min_count=2)/df.groupby('ID').count()
Out[178]: 
      x    y    z
ID               
A   1.0  NaN  0.5
B   NaN  0.5  NaN

下面是另一个可能有帮助的解决方案:


以下是另一个可能有帮助的解决方案:


太好了,谢谢!看来min_count在meanperfect中确实很有用,谢谢!看来min_count在平均值上确实有用