You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含字典的Numpy数组转换为列名自动生成的Pandas DataFrame

解决方案

这事儿其实超简单,Pandas天生就支持把字典列表(哪怕是Numpy数组包裹的字典集合)直接转换成DataFrame,而且会自动提取字典里的键作为列名,完美适配你“列名随输入自动变化”的需求!

完整代码示例

import pandas as pd

# 你的原始数据(如果是Numpy数组,比如data = np.array([...]),转换逻辑完全一样)
data = [{'DateTime': '2020-03-13T16:44:58-03:00', 'Hl': 81.5, 'Bl': 82.5}, 
        {'DateTime': '2020-03-13T16:44:58-03:00', 'Hl': 87.7, 'Bl': 2.94}]

# 核心一步:直接转成DataFrame,列名自动从字典键生成
df = pd.DataFrame(data)

# 调整索引从1开始(默认索引是0开头,这里做个小修改)
df.index = df.index + 1
# 给索引列命名为"Index",和你要的格式匹配
df.index.name = 'Index'

# 输出看看结果
print(df)

代码解释

  1. 自动生成列名:pd.DataFrame(data)会自动遍历所有字典的键,把所有出现过的键作为DataFrame的列名——哪怕不同字典的键有差异(比如有的字典多一列、有的少一列),Pandas都会自动补全缺失值为NaN,完全不用你手动指定列名。
  2. 自定义索引:默认的DataFrame索引是从0开始的,我们通过df.index = df.index + 1把索引改成从1开始,再用df.index.name = 'Index'给索引列加上名称,就完全匹配你想要的格式了。

运行这段代码后,你得到的DataFrame就是你想要的样子:

DateTime    Hl    Bl
Index                      
1     2020-03-13T16:44:58-03:00  81.5  82.5
2     2020-03-13T16:44:58-03:00  87.7   2.94

内容的提问来源于stack exchange,提问作者sjobyt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 14:08:14