(Python) astype(int) 无法从对象中删除前导零

(Python) astype(int) cannot remove leading zeros from object

新年快乐!

目前我正在处理如下数据框列,重点放在 ACCOUNT_NUMBER 列(类型 'object'):

  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中的一些值完全是数字,而一些是数字和字母的混合。我的objective是将完全是数字的值从'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