入门问题:如何将指定结构的字典列表转换为目标列的Pandas DataFrame
实现方案
方案1:先手动打平数据再生成DataFrame
逻辑直观可读性强,适配所有场景:
import pandas as pd flat_data = [] for entry in my_data: name, gender, year = entry["key"] number = entry["values"][0] flat_data.append({ "name": name, "gender": gender, "year": year, "number": number }) df = pd.DataFrame(flat_data) # 可选步骤:将字段转换为对应数值类型 df = df.astype({ "gender": int, "year": int, "number": int })
方案2:直接生成DataFrame后拆分列
无需提前遍历数据,适合处理数据量较大的场景:
import pandas as pd # 基于原始结构直接生成DataFrame df = pd.DataFrame(my_data) # 拆分key字段为三个独立列 df[["name", "gender", "year"]] = pd.DataFrame(df["key"].tolist(), index=df.index) # 提取values字段的第一个元素作为number列 df["number"] = df["values"].str[0] # 删除不需要的原始字段 df = df.drop(columns=["key", "values"])
内容的提问来源于stack exchange,提问作者Greger
相关产品推荐
相关产品推荐

