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

如何去除Pandas中df.columns及字典列键名的u'前缀?

Pandas Unicode前缀(u')去除方案

问题1:去除df.columns结果中的u'前缀

这个u'是Python 2中Unicode字符串的标识,Python 3里默认字符串就是Unicode,不会出现该前缀。如果是在Python 2环境下处理:

  • 直接将列名转换为普通字符串:
df.columns = [str(col) for col in df.columns]
  • 若列名包含非ASCII字符,可用编码解码方式处理:
df.columns = df.columns.str.encode('utf-8').str.decode('utf-8')

问题2:合并列生成字典时去除键名的u'前缀

你之前尝试的代码错误对键做了k[1:]切片,实际上k本身是Unicode字符串,直接转为普通字符串即可解决问题。

方案一:生成字典后修正

对已生成的ratings列批量处理:

df['ratings'] = df['ratings'].apply(lambda x: {str(k): v for k, v in x.items()})

方案二:生成字典时直接处理

在生成字典的步骤就把列名转为普通字符串,避免后续修正:

df.set_index('id').apply(lambda row: {str(col): row[col] for col in row.index}, axis=1).reset_index(name='ratings')

执行后就能得到键名不带u'前缀的目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:10:26