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

Pandas拆分列后无法重命名列名问题求助

问题解决:DataFrame列重命名不生效的原因及修复

问题出在你重命名时用了字符串类型的列名键(比如'0'),但str.split(expand=True)生成的DataFrame列名是整数类型的0、1、2、3,两者类型不匹配,导致重命名规则无法匹配到目标列,所以列名没变化。

修复方案1:修正rename的键类型

把字典里的键改成整数即可:

import pandas as pd
import numpy as np

data = pd.read_csv('/Users/kdavid3mbp/Python/ketamine_data.csv')
data['usecase_one'] = data['usecase_one'].str.replace('For', '', regex=True)
data['usecase_one'] = data['usecase_one'].str.replace(':', '', regex=True)
data['usecase_two'] = data['usecase_two'].str.replace('For', '', regex=True)
data['usecase_two'] = data['usecase_two'].str.replace(':', '', regex=True)

address = data['address'].str.split('\n', expand=True)

# 将键改为整数类型,匹配原列名的类型
new_address = address.rename(columns={
    0: 'Clinic Name',
    1: 'Street',
    2: 'City_State_Country',
    3: 'Misc Address'
})

new_address

修复方案2:拆分时直接指定列名(更高效)

可以在str.split的时候直接通过names参数指定列名,省去后续重命名步骤:

# 拆分时直接设置列名
address = data['address'].str.split('\n', expand=True, names=['Clinic Name', 'Street', 'City_State_Country', 'Misc Address'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:25:04