如何统计DataFrame中Id_1的出现次数并生成对应格式的列表
解决方案
需求为统计DataFrame中Id_1列各取值的出现次数,输出(Id_1取值, 出现次数)格式的元组列表,可通过以下两种方式实现:
方法1:使用value_counts实现(代码最简)
核心逻辑:直接调用Series的计数方法,排序后转为列表
import pandas as pd # 构造示例DataFrame data = { "Id_1": [1401,1401,1801,1801,1801,1801,2001,2001,2201,2201], "Id_2": [1,3,0,2,0,0,1,5,0,0] } df = pd.DataFrame(data) # 核心实现代码 L = list(df["Id_1"].value_counts().sort_index().items()) # 输出结果:[(1401, 2), (1801, 4), (2001, 2), (2201, 2)] print(L)
方法2:使用groupby实现(逻辑更直观)
核心逻辑:按Id_1分组后统计每组行数,再转为列表
# 核心实现代码 L = list(df.groupby("Id_1").size().items())
两种方法输出结果完全一致,符合需求要求的格式。
内容的提问来源于stack exchange,提问作者AdrixnIPP
相关产品推荐
相关产品推荐

