如何将.value_counts结果与对应ID、DESC整合至单个DataFrame
解决建议
你的代码问题点
- 拼接DataFrame时未指定
axis=1,默认按行堆叠,导致DESC和COUNT无法左右对齐 - 完全没有处理
ID列的逻辑,自然无法生成包含ID的结果
正确实现代码
import pandas as pd # 路径用原始字符串避免转义问题,或改用正斜杠 path = r"C:\Matching_Desc.csv" df = pd.read_csv(path, encoding='unicode_escape') # 按DESC分组,提取对应ID并统计数量 result = df.groupby('DESC', as_index=False).agg( ID=('ID', 'first'), # 取每个DESC对应的首个ID,和示例匹配 COUNT=('DESC', 'size') ) # 调整列顺序,匹配期望格式 result = result[['ID', 'DESC', 'COUNT']] # 保存结果 result.to_csv(r"C:\matching.csv", index=False)
代码说明
groupby('DESC'):按描述字段分组,确保相同DESC的行被归为一组agg方法:一次完成两个操作——提取每组的第一个ID(如果每个DESC对应唯一ID,用'min'/'max'结果一致),统计每组的行数(即COUNT值)- 调整列顺序:保证输出的列顺序和你期望的
ID DESC COUNT一致 - 路径处理:加
r标记原始字符串,避免Windows路径中的反斜杠被转义报错
内容的提问来源于stack exchange,提问作者VINIJR
相关产品推荐
相关产品推荐

