Python中如何将DataFrame列的逗号分隔值合并为单个列表
解决方法
你可以通过列表推导式直接完成拆分、类型转换、展平操作,代码简单且执行效率高:
result = [int(num) for cell_value in df_position for num in cell_value.split(',')]
逻辑说明
- 遍历
df_position序列中的每一个单元格值(也就是样例里1,2,3,4这类逗号分隔的字符串) - 对每个字符串调用
split(',')按逗号拆分,得到单个数字组成的字符串列表 - 将拆分出的每个数字字符串转为整数类型
- 按原有顺序把所有整数收集到同一个列表中
如果偏好pandas原生的链式写法,也可以用下面的代码实现,输出结果完全一致:
result = df_position.str.split(',', expand=True).stack().astype(int).tolist()
用提供的样例数据执行上述任意一段代码,最终得到的结果都是:
[1,2,3,4,4,5,6,7,7,8,9,10,10,11,12,13]
内容的提问来源于stack exchange,提问作者anagnam
相关产品推荐
相关产品推荐

