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

为何将DateTimeIndex存入DataFrame会报TypeError索引错误?

问题分析与解决方法

错误原因

你把DF初始成了Python普通列表[],而列表只能通过整数索引或切片来访问元素,不能像DataFrame那样用字符串列名'DateCol'来赋值,这就是触发TypeError: list indices must be integers or slices, not str错误的核心原因。

正确实现方式

方式一:直接创建DataFrame

直接将生成的dates传入pd.DataFrame并指定列名:

import pandas as pd

dates = pd.date_range("2022-08-19", "2052-02-19", freq=pd.DateOffset(months=6))
DF = pd.DataFrame({'DateCol': dates})

方式二:先初始化空DataFrame再赋值

先创建空的DataFrame对象,再给目标列赋值:

import pandas as pd

dates = pd.date_range("2022-08-19", "2052-02-19", freq=pd.DateOffset(months=6))
DF = pd.DataFrame()
DF['DateCol'] = dates

方式三:使用insert方法的正确姿势

如果要使用insert方法,需先确保DF是DataFrame对象而非列表:

import pandas as pd

dates = pd.date_range("2022-08-19", "2052-02-19", freq=pd.DateOffset(months=6))
DF = pd.DataFrame()
DF.insert(0, 'DateCol', dates)  # 0表示将列插入到第0位的位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:54:16