如何从键为列名、值为二维数组的字典创建pandas DataFrame
从指定字典构造目标pandas DataFrame的实现方案
该需求完全可以实现,pandas原生支持将一维数组作为单元格元素存储,最终生成的DataFrame格式完全匹配你的要求,具体实现方案如下:
步骤1:导入依赖库
import pandas as pd import numpy as np
步骤2:构造目标DataFrame
list(value)会把形状为(200,200)的numpy数组按行拆分为200个形状为(200,)的一维数组,刚好对应每列的200行单元格内容,DataFrame会自动把字典的键映射为列名,完全匹配需求:
# d为你已有的原始字典 df = pd.DataFrame({key: list(value) for key, value in d.items()})
步骤3:验证结果正确性
你可以通过以下代码校验输出是否符合预期:
- 查看DataFrame的形状,输出应为
(200, 59)print(df.shape) - 查看任意单元格内的数组形状,输出应为
(200,)print(df.iloc[0, 0].shape)
补充说明
如果后续需要对单元格内的一维数组做批量处理,可搭配apply方法实现,示例如下:
# 计算指定列所有数组的均值 df['目标列名'].apply(lambda x: x.mean())
内容的提问来源于stack exchange,提问作者Prithviraj Kanaujia
相关产品推荐
相关产品推荐

