熊猫groupby()。get_group()。size是否返回正确的大小?

时间:2019-01-17 20:36:48

标签: python pandas dataframe pandas-groupby

我正在对每个国家的人口统计数据进行分组。我发现要获取每个组的大小存在问题,.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在每种情况下都不同吗?谢谢!

1 个答案:

答案 0 :(得分:0)

Pandas GroupBy.get_group构造一个DataFrame。您调用了DataFrame.size,它返回对象中元素的数量。要获取组中的行数,请尝试

Countries.groupby(ContinentDict).get_group('Asia').shape[0]