我正在对每个国家的人口统计数据进行分组。我发现要获取每个组的大小存在问题,.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
在每种情况下都不同吗?谢谢!
答案 0 :(得分:0)
Pandas GroupBy.get_group构造一个DataFrame。您调用了DataFrame.size,它返回对象中元素的数量。要获取组中的行数,请尝试
Countries.groupby(ContinentDict).get_group('Asia').shape[0]