python - (Python) astype(int) 无法从对象中删除前导零
问题描述
新年快乐!
目前我正在处理如下数据框列,重点是 ACCOUNT_NUMBER 列(类型“对象”):
BRANCH_CODE ACCOUNT_NUMBER ACCOUNT_HEAD SCHEDULE_DUE_DATE \
1 00001838002 211102000 NaT
1 00001867003 211102000 NaT
1 00001962020 211102000 NaT
1 030MZAX9082 211102000 NaT
1 00002404079 211102000 NaT
1 00010322002 211102000 NaT
1 00021070011 211102000 NaT
1 091QWEV34QA 211102000 NaT
1 00024605002 211102000 NaT
1 214QSVC45AX 211102000 NaT
如您所见,ACCOUNT_NUMBER 中的一些值完全是数字,还有一些是数字和字母的混合。我的目标是将完全是数字的值从“object”转换为“int”,并将数字和字母混合的值保留为“object”(忽略)。为此,我正在尝试以下代码行:
file_consol['ACCOUNT_NUMBER']=file_consol['ACCOUNT_NUMBER'].astype(int,errors='ignore')
但是,代码行无法将数字转换为 int。我在下面尝试了另一种选择,但它也不起作用:
file_consol_P['ACCOUNT_NUMBER']=file_consol_P['ACCOUNT_NUMBER'].astype(str).astype(int,errors='ignore')
非常感谢您对此的任何帮助或解释。谢谢!
解决方案
尝试应用:
file_consol['ACCOUNT_NUMBER']=file_consol['ACCOUNT_NUMBER'].apply(lambda x: int(x) if all(k.isdigit() for k in x) else x)
输出:
0 1838002
1 1867003
2 1962020
3 030MZAX9082
4 2404079
5 10322002
6 21070011
7 091QWEV34QA
8 24605002
9 214QSVC45AX
推荐阅读
- javascript - 我们可以使用 axios 的 onDownloadProgress 来加载 API 吗?
- ios - 如何以编程方式更新 UITextView maximumNumberOfLines 并查看 UI 更新。
- java - 尽管它存在于 pom.xml 文件中,但我的项目没有看到特定的导入
- c# - 在 ftp 上发布 WinForm 并进行后续更新
- php - ZF3 你能记录未捕获的异常吗?
- mysql - MySQL - 如何根据两个不同表之间的关系从表中选择所有结果?
- rust - 如何检索 Rust 编译器插件中绑定的特征的完整路径?
- javascript - 年复一年
- javascript - 在托管环境中重新连接到以前的 Puppeteer 会话
- r - 基因表达不起作用,因为“参数意味着不同的行数”