python - Pandas groupby().get_group().size 未返回正确的大小?

标签 python pandas dataframe pandas-groupby

我正在将每个国家/地区的人口统计数据分组为一个 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/

相关文章:

python - 从 .apply 添加列到数据框

python - 如何使用 apply 将列作为参数传递给类

python pandas到csv文件保存,而不是覆盖

python - 使用 Pandas 将多行转换为单行

python - 动态规划 - 节省计算时间

python - 我正在尝试在opencv的视频中跟踪移动的 Ant 。我无法追踪 Ant 。建议?提供代码和链接

python - 从现有系数创建 sklearn.linear_model.LogisticRegression 实例

python - 我必须从给定的 Dataframe : 中获取 "True"值多于 "False"值的组

python - reshape 表格以获得每个唯一值的频率

python - 检查连续的相似值并替换