我正在将每个国家/地区的人口统计数据分组为一个 DataFrame。我发现问题是我想获取每个组的大小,.size 或 np.size() 返回组第一列的总和,而不是行数。
我正在使用 Python 3.7 和 Pandas 0.23.4
df.groupby('foo').apply(lambda grp: grp.size)
这会返回一个更大的数字。
Countries.groupby('foo').apply(lambda grp: grp['some colum'].size)
这将给出正确的计数
有人知道为什么 .size
在每种情况下的工作方式不同吗?谢谢!
最佳答案
Pandas GroupBy.get_group 构造一个 DataFrame。您调用DataFrame.size它返回对象中元素的计数。要获取组中的行数,请尝试
Countries.groupby(ContinentDict).get_group('Asia').shape[0]
关于python - Pandas groupby().get_group().size 未返回正确的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54243916/