如何将DataFrame中冒号分隔的整数字符串排序后保留冒号分隔格式
实现方案
你可以通过Pandas的apply方法对目标列做逐行处理,核心逻辑为拆分字符串→转整数排序→拼接回冒号分隔字符串,完整实现代码如下:
import pandas as pd # 1. 构造你的DataFrame,实际使用时可替换为你读取数据的逻辑(比如pd.read_csv等) raw_data = {'_c1': {0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E'}, '_c2': {0: '2:3:7:9:1:8:6:1', 1: '5:1:3:9:4:6:8', 2: '6:7:5:0:9', 3: '3:1:5:5:2:7', 4: '1:2:8:3:8:9:7:3:4:6:5:5:1:5'}} df = pd.DataFrame(raw_data) # 2. 定义字符串排序处理函数 def sort_colon_str(s): # 按冒号拆分转整数 nums = list(map(int, s.split(':'))) # 从小到大排序 nums.sort() # 拼接回冒号分隔的字符串 return ':'.join(map(str, nums)) # 3. 应用函数到_c2列,完成处理 df['_c2'] = df['_c2'].apply(sort_colon_str) # 查看处理结果 print(df)
运行后输出的处理结果如下:
_c1 _c2 0 A 1:1:2:3:6:7:8:9 1 B 1:3:4:5:6:8:9 2 C 0:5:6:7:9 3 D 1:2:3:5:5:7 4 E 1:1:2:3:3:4:5:5:5:6:7:8:8:9
内容的提问来源于stack exchange,提问作者Luis Alejandro Vargas Ramos
相关产品推荐
相关产品推荐

