如何对DataFrame中B列的逗号分隔数值进行排序?
实现DataFrame中B列数值排序的方法
可以实现,以下是基于Python pandas库的具体解决方案:
- 构造示例DataFrame:
import pandas as pd df = pd.DataFrame({ 'A': ['AA', 'BB'], 'B': ['1,3,5,2,20,11', '9,44,2,33,1,21'] })
- 对B列执行排序处理:
# 定义处理函数:分割字符串→转整数→排序→转回逗号分隔格式 def sort_b_values(s): num_list = list(map(int, s.split(','))) num_list.sort() return ','.join(map(str, num_list)) # 将函数应用到B列 df['B'] = df['B'].apply(sort_b_values)
- 最终处理结果:
A B 0 AA 1,2,3,5,11,20 1 BB 1,2,9,21,33,44
关键步骤说明
split(','):把B列的字符串按逗号分割为单个数字字符串组成的列表map(int, ...):将列表中的字符串转换为整数,确保按数值大小排序而非字符串字典序sort():对整数列表执行升序排序join(map(str, ...)):把排序后的整数转回字符串,再用逗号拼接成目标格式
内容的提问来源于stack exchange,提问作者SM079
相关产品推荐
相关产品推荐

