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

如何用Pandas创建日期索引DataFrame并填入Numpy数组数据

问题原因说明

你最初的创建方式得不到预期结果的核心原因是维度不匹配:你传入的[qq, hh]是2行×24列的二维结构,而你需要的是24行×2列的数据源,同时你指定的24行时间索引和2行的数据源长度无法对应,因此无法生成符合要求的DataFrame。

现有方案合理性

你目前使用的「先创建带时间索引的DataFrame,再逐列赋值」的方案是完全合理的,逻辑清晰易懂,对于常规规模的数据集,性能完全可以满足需求。

更简洁的实现方式

推荐优先使用字典传入列数据的写法,一步完成创建,不需要拆分步骤,也不容易出现列顺序匹配错误的问题:

import pandas as pd
import numpy as np

# 你的原始数组
qq = np.zeros(24)
hh = np.zeros(24) 

start = '2018-01-01 00:00:00'
start_date = pd.to_datetime(start, format='%Y-%m-%d %H:%M:%S')

# 一步生成目标DataFrame
df = pd.DataFrame(
    {'Qout': qq, 'h': hh},
    index=pd.date_range(start_date, periods=24, freq='H')
)

如果你偏好传入数组+指定列名的写法,可以用np.column_stack将两个一维数组按列拼接为二维数组后传入,效果一致:

df = pd.DataFrame(
    np.column_stack([qq, hh]),
    columns=['Qout', 'h'],
    index=pd.date_range(start_date, periods=24, freq='H')
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:18:03