【问题标题】:How to convert an object dtype to integer by removing letter characters?如何通过删除字母字符将对象 dtype 转换为整数?
【发布时间】:2022-10-13 23:00:51
【问题描述】:

我有以下数据框:

data = {'id':['9011001', '9011001-83V', '9011001-78G', '9011001-56V'],
        'av':[0, 1, 0, 1]}
 
df = pd.DataFrame(data)

df.dtypes 是:

id     object
av     int64
dtype: object

我想将id 对象列转换为整数一。我知道我不能这样做,因为该列也包含字母。我正在考虑从该列中删除字母字符,以便在使用 df['id'].astype(int) 之后进行转换。

您对如何从id 列中删除字母字符有任何想法吗?

先感谢您。

【问题讨论】:

    标签: python pandas object integer


    【解决方案1】:

    这是使用reged的一种方法

    # d : digit character
    #[^d] : match for non-digit character
    
    df['id'].str.replace(r'[^d]','', regex=True)
    
    0      9011001
    1    901100183
    2    901100178
    3    901100156
    Name: id, dtype: object
    

    【讨论】:

      猜你喜欢
      • 2014-04-03
      • 2013-12-01
      • 2015-01-03
      • 2013-02-08
      • 1970-01-01
      • 2020-02-18
      • 2020-01-30
      • 2017-09-15
      • 1970-01-01
      相关资源
      最近更新 更多