如何将指定字符串列表转换为带表头的Pandas DataFrame?
解决方法
你之前的代码只是把原始字符串列表直接转成DataFrame再转置,没有解析每个字符串里的区域名和对应地区,所以没法生成正确的表头和数据。要实现需求,得先解析每个字符串的结构,再构造DataFrame:
步骤说明
先把每个字符串里的区域名称(比如BANYULE)和对应的地区列表分离开,清理掉多余的引号和空格,再用整理好的数据构建DataFrame。
完整代码
import pandas as pd local_list = ["BANYULE : 'Abbotsford', 'Airport West', 'Albert Park', 'Alphington'", "BRIMBANK : 'Altona', 'Altona North', 'Armadale', 'Ascot Vale'"] # 初始化字典存储解析后的数据 region_data = {} for entry in local_list: # 分割区域名和地区字符串 region_name, areas_part = entry.split(':') # 清理区域名的前后空格 region_name = region_name.strip() # 处理地区部分:分割成单个地区,去掉引号和多余空格 area_list = [area.strip().strip("'") for area in areas_part.split(',')] # 存入字典,键是区域名(作为表头),值是地区列表(作为列数据) region_data[region_name] = area_list # 转换为DataFrame df = pd.DataFrame(region_data) # 查看结果 print(df)
运行结果
执行后会得到你想要的格式:
BANYULE BRIMBANK 0 Abbotsford Altona 1 Airport West Altona North 2 Albert Park Armadale 3 Alphington Ascot Vale
内容的提问来源于stack exchange,提问作者Zhou
相关产品推荐
相关产品推荐

