如何在特定值后拆分list或DataFrame,按字母标识分割列表得到对应子列表
实现代码
我们通过遍历列表、识别字母作为分组键的方式完成分组,代码如下:
original_list = ['A', '0', '1', '2', 'B', '3', '5', '6'] result = {} current_group_key = None for item in original_list: # 判断当前元素是否为字母,是则作为新的分组键 if item.isalpha(): current_group_key = item result[current_group_key] = [] # 非字母元素归入当前分组 else: if current_group_key is not None: result[current_group_key].append(item)
运行后得到的result字典默认输出为:
{'A': ['0', '1', '2'], 'B': ['3', '5', '6']}
如果需要匹配示例中A对应的列表为单个拼接字符串的格式,额外增加一步处理即可:
result['A'] = [', '.join(result['A'])]
处理后输出完全匹配需求:
A = ['0, 1, 2'] B = ['3', '5', '6']
如果需要转成Pandas DataFrame格式,可以用以下代码:
import pandas as pd # 不同长度的分组自动补空值 df = pd.DataFrame({k: pd.Series(v) for k, v in result.items()})
内容的提问来源于stack exchange,提问作者rekeson21
相关产品推荐
相关产品推荐

