如何统计DataFrame两列逗号数量并展示对应计数
问题:统计DataFrame中City和Zipcode列的逗号分隔元素数量并生成结果
给定如下示例DataFrame,需要统计City和Zipcode两列中逗号分隔的元素数量,并生成包含原列及对应计数列的结果:
示例数据
ID City Zipcode 1 A,B,C,D 1,2,3,4 2 A,B 1,2 3 A 1 4 B,C 2,3
期望输出
City Zipcode City_Count Zipcode_Count A,B,C,D 1,2,3,4 4 4 A,B 1,2 2 2 A 1 1 1 B,C 2,3 2 2
目前已实现单列逗号计数的代码如下:
# 目前已实现单列逗号计数的代码 df['value_count'] = df.string_column.str.count(',') print(df)
解决方案
你已经掌握了单列统计逗号数量的方法,只需要针对目标列扩展逻辑,并且注意元素数量 = 逗号数量 + 1(n个元素之间有n-1个逗号),具体代码如下:
# 统计City列的元素数量 df['City_Count'] = df['City'].str.count(',') + 1 # 统计Zipcode列的元素数量 df['Zipcode_Count'] = df['Zipcode'].str.count(',') + 1 # 筛选需要的列(可选,按需调整) result_df = df[['City', 'Zipcode', 'City_Count', 'Zipcode_Count']] print(result_df)
代码说明
str.count(','):统计列中每个字符串的逗号出现次数+1:将逗号数量转换为实际的元素个数,比如"A,B,C,D"有3个逗号,对应4个元素- 通过索引选择列,最终得到与期望输出一致的结果
内容的提问来源于stack exchange,提问作者Ed_Gravy
相关产品推荐
相关产品推荐

