Python解析列表元素为多列表并存入pd.DataFrame的方法
处理带空格的奶酪数据并转为DataFrame
方法一:逐行拆分处理
先把每行数据按空白字符分割,忽略第一个元素,剩下的部分里最后一个是数值,前面的内容拼接成奶酪名称:
import pandas as pd # 假设你的数据源列表如下 data_list = [ "0 cheese 100", "1 cheddar cheese 1100", "2 gorgonzola 1300", "3 smoked cheese 200" ] cheese_types = [] values = [] for line in data_list: # 按任意空白字符拆分,自动忽略连续空格 parts = line.split() # 拼接除首个数字、末尾数值外的所有部分作为奶酪名 cheese_name = ' '.join(parts[1:-1]) cheese_types.append(cheese_name) # 将末尾数值转为整数存入列表 values.append(int(parts[-1])) # 转为DataFrame df = pd.DataFrame({ "cheese_type": cheese_types, "value": values }) print(df)
运行后输出的DataFrame:
cheese_type value 0 cheese 100 1 cheddar cheese 1100 2 gorgonzola 1300 3 smoked cheese 200
方法二:直接用pandas读取(数据源为文本文件时)
如果数据存储在本地文本文件里,可直接用pd.read_csv处理,自动跳过第一列并命名列名:
import pandas as pd # 假设文件名为cheese_data.txt df = pd.read_csv("cheese_data.txt", sep=r"\s+", header=None, usecols=[1,2], names=["cheese_type", "value"]) print(df)
这个方法更简洁,能自动识别多空格分隔符,直接过滤掉不需要的首列数据。
内容的提问来源于stack exchange,提问作者user19828448
相关产品推荐
相关产品推荐

