将dataframe列从Object转换为float或int

时间:2020-01-15 12:25:15

标签: python pandas

从CSV读取时,我想将多个数据框列的dtype从默认值转换为

DF = pd.read_csv('data.csv', encoding = 'ISO-8859-1',
    usecols = ['Email ID','Total CTC'], dayfirst = True, parse_dates=True)

DF.dtypes

Email ID       object
GDOJ           object
Total CTC      object
dtype: object
  1. 尝试将Total CTC转换为float:-
DF['Total CTC'] = DF['Total CTC'].astype(float)
ValueError: could not convert string to float: '69,608.00'
  1. 尝试将Total CTC转换为int:-
DF['Total CTC'] = DF['Total CTC'].astype(int)
ValueError: invalid literal for int() with base 10: '69,608.00'
  1. HR['Total CTC'].apply(lambda x:x.dtype)

AttributeError: 'str' object has no attribute 'dtype'

请提出解决方案。

我想创建一个新列,并将该列与值5的另一列相乘

1 个答案:

答案 0 :(得分:0)

您可以这样转换列:

DF['Total CTC'] = DF['Total CTC'].str.replace(',' ,'').astype(float)