numpy - 用 nans 计数的 Pandas 聚合

标签 numpy pandas

Pandas 计数聚合忽略了 nan 的计数。我需要一个包含它们的计数。 Numpy 有一些聚合,但不是所有 nan 修改聚合,我是否必须使用自定义聚合,或者有没有办法做到这一点,我找不到?

这是针对 groupby 的,我想要正常的 NaN 功能来表示均值,但对计数来说很奇怪。在代码中

In [1]: import numpy

In [2]: import pandas as pd

In [3]: df = pd.DataFrame([[0,float('nan')],[0,float('nan')],[0,float('nan')]])

In [4]: df.groupby(0).agg(['count', 'mean'])
Out[4]:
      1
  count mean
0
0     0  NaN

我希望输出是 3 Nan 而不是 0 NaN。

最佳答案

只需使用 len()

size = lambda x: len(x)
df.groupby(0).agg(['count', 'mean', 'size'])

输出:
      1          
  count mean size
0                
0     0  NaN    3

关于numpy - 用 nans 计数的 Pandas 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36252934/

相关文章:

python - 当 A 列为 Null 时,确保 B 列 = 某个值 - Python

python - 将 numpy 结构化数组的字段插入 mongodb

python - 在 Pandas 中添加小数部分

python - 高效地将流数据附加到 Dataframe

python - 提取第一个单词以外的大写单词的句子

python - Pandas 滚动窗口返回一个数组

python - 在 Python/Numpy/Pandas 中查找连续值 block 的开始和停止

python - 将分隔符分隔的字符串转换为 numpy 数组的有效方法

python - Pandas 样式格式不将列格式化为带小数位的百分比

python - 如何按 Pandas 列的部分值进行分组?