【问题标题】:Convert a column of dollar values in a dataframe to integer [duplicate]将数据框中的一列美元值转换为整数[重复]
【发布时间】:2020-12-23 09:57:32
【问题描述】:

我在列中有一个混合的美元值作为字符串;有些带有 $ 和逗号,有些没有。如何将这些转换为整数值?这是一个示例。

df2.PRICE
Out[193]: 
0         $179,000.00
1         $110,000.00
2         $275,000.00
3         $140,000.00
4         $180,000.00
    
564611          85500
564612          80800
564613          74500
564614          75900
564615          66700
Name: PRICE, Length: 564616, dtype: object

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用Series.replace 并通过Series.astype 转换为floats:

    df2.PRICE = df2.PRICE.replace('[\$,]','', regex=True).astype(float)
    print (df2)
               PRICE
    0       179000.0
    1       110000.0
    2       275000.0
    3       140000.0
    4       180000.0
    564611   85500.0
    564612   80800.0
    564613   74500.0
    564614   75900.0
    564615   66700.0
    

    如果一直有integers:

    df2.PRICE = df2.PRICE.replace('[\$,]','', regex=True).astype(float).astype(int)
    print (df2)
             PRICE
    0       179000
    1       110000
    2       275000
    3       140000
    4       180000
    564611   85500
    564612   80800
    564613   74500
    564614   75900
    564615   66700
    

    如果转换为浮点数失败,如果无法转换为数字,请使用 to_numericerrors='coerce' 作为缺失值:

    df2.PRICE = pd.to_numeric(df2.PRICE.replace('[\$,]','', regex=True), errors='coerce')
    

    【讨论】:

      猜你喜欢
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多