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

使用Pandas处理CSV:截取Code列后两位字母并删除缺失值行

解决方案

直接给你修正后的可运行代码,执行后就能得到期望结果:

import pandas as pd

# 正确读取指定列的数据
df = pd.read_csv("data.csv", usecols=['username', 'code'])

# 删除username或code列存在缺失值的行
df = df.dropna(subset=['username', 'code'])

# 截取code列字符串的最后两位
df['code'] = df['code'].str[-2:]

# 输出处理后的数据
print(df)

原代码的问题说明

  • 开头的df.to_csv("data.csv")完全错误:既会覆盖原数据文件,且此时df还未定义,直接运行会报错,必须删除这行。
  • usecols参数里的字符串引号不匹配,['username, 'code']要改成['username', 'code'],否则会触发语法错误。
  • 最后打印的变量名是dt,但你定义的变量是df,变量名不一致会报错。

关键步骤解释

  1. 清理缺失值:用dropna(subset=['username', 'code'])精准指定检查这两列,只要任意一列有缺失就删除整行,完全匹配你的需求。
  2. 截取code最后两位:利用str[-2:]对字符串进行切片操作,不管code列原字符串格式如何,都能直接提取最后两个字符。

运行上述代码后,输出结果和你期望的一致:

username  code
Chris     DF    
Rebecca   TY

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:45:51