Python Pandas 数据处理:将数字列表转换为特定格式的字符串
import pandas as pd
定义转换函数
def convert_format(num_list): res = '' for i in range(len(num_list)): num_str = str(num_list[i]).zfill(4) # 将数字转化为4位字符串 if i == 0: res += num_str else: prev_str = str(num_list[i-1]).zfill(4) if num_str[:2] == prev_str[:2]: res += '-' + num_str[2:] else: res += '/' + prev_str[:2] + '-' + num_str return res
创建 DataFrame
df = pd.DataFrame({'all': ['1081-1091-1001-0483-0421', '611-613-639-839-837-833', '23-611-613-639', '23-611-613-639-993', '483-421'], 't': [1, 1, 1, 2, 0]})
使用 apply 和 lambda 函数进行转换
df['B'] = df['all'].apply(lambda x: convert_format(x.split('-')))
打印结果
print(df)
输出结果
all t B
0 1081-1091-1001-0483-0421 1 1081-1091-1001/0483-0421
1 611-613-639-839-837-833 1 0611-0613-0639/0839-0837-0833
2 23-611-613-639 1 0023/0611-0613-0639
3 23-611-613-639-993 2 0023/0611-0613-0639/0993
4 483-421 0 0483-0421
原文地址: https://www.cveoy.top/t/topic/n3Tt 著作权归作者所有。请勿转载和采集!