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

pandas拼接DataFrame后添加索引及列重命名报错怎么解决?

Pandas拼接DataFrame后重命名列报错的解决方法

错误原因

TypeError: 'Index'对象不可调用的核心问题是:date_count.columns是DataFrame的属性,存储的是Index类型对象,不是可调用的方法,不能用括号传参执行调用。

正确代码修正

1. 列重命名的两种实现方式

  • 全列统一替换(适合你当前需要修改所有列名的场景)
date_count.columns = ['date','new_sentiment','count']
  • 部分列修改(适合仅需调整少量列名的场景)
# 按字典映射修改指定列名,inplace=True表示直接修改原对象,否则返回修改后的新对象
date_count.rename(columns={'原列名1':'date', '原列名2':'new_sentiment', '原列名3':'count'}, inplace=True)

2. 索引设置方法

拼接多个DataFrame后通常会存在原索引重复、不连续的问题,两种处理方案:

  • 拼接时直接生成连续整数索引(推荐)
# 拼接时添加ignore_index=True参数,自动忽略所有子DataFrame的原索引,生成从0开始的连续新索引
date_count = pd.concat(total, axis=0, ignore_index=True)
  • 拼接后重置索引
# drop=True表示丢弃原索引列,不保留为数据列
date_count = date_count.reset_index(drop=True)
  • 自定义业务索引(如需将date列设为行索引)
date_count = date_count.set_index('date')

完整流程示例

import pandas as pd
# 你的15个DataFrame列表
total = [df01, df02, df03, df04, df05, df06, df07, df08, df09, df10, df11, df12, df13, df14, df15]
# 拼接+自动生成连续索引
date_count = pd.concat(total, axis=0, ignore_index=True)
# 重命名列
date_count.columns = ['date','new_sentiment','count']
# 可选:设置date为行索引
# date_count = date_count.set_index('date')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 15:06:10