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

如何将Pandas的program_number列从object转为int?解决值重复问题

解决object类型列转integer及清理空格重复值的问题
  • 先清理字符串前后的空白字符:使用str.strip()方法可以精准去除每个值的首尾空格,比全局替换空格更适合处理类似'6 '这种带尾空格的情况,避免误删中间可能存在的有效空格(如果有的话)。
  • 转换为整数类型:使用pd.to_numeric()处理类型转换,通过errors='coerce'参数将无法转换为数字的值转为NaN,再用astype('Int64')转为支持缺失值的整数类型(普通int类型无法容纳NaN)。

具体代码示例:

import pandas as pd

# 清理列值首尾的空白
df['program_number'] = df['program_number'].str.strip()

# 转换为整数类型,无法转换的设为NaN
df['program_number'] = pd.to_numeric(df['program_number'], errors='coerce').astype('Int64')

额外检查与处理

  • 转换后可以用df['program_number'].value_counts()查看去重后的数值分布,确认'6 '和6已统一为整数6。
  • 如果存在无法转换的非数字值(如'abc'),可以通过df[df['program_number'].isna()]定位这些行,根据业务需求选择删除(df.dropna(subset=['program_number']))或填充默认值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:45:46