首页 > 解决方案 > 无法将字符串列转换为在熊猫中浮动

问题描述

我想在 DataFrame 收入中添加一个名为“2016 Salary ($)”的新列,其中包含表 Salary Paid 中的员工工资作为数字。我想通过删除“$”和“,”来删除该数字。

但是当我这样做时,我收到错误消息:

'无法将字符串转换为浮点数'

我尝试按照提示进行操作,但它不起作用:

income['2016 Salary ($)']= income['SalaryPaid'].str.strip('$').astype(float)
income['2016 Salary ($)'].apply(lambda X:X['Salary Paid'])
income

标签: pythonpandas

解决方案


尝试这样的事情:

资料

dic = {'Name':['John','Peter'],'SalaryPaid':['$204,546,289.35','$500,231,289.35'],'Year':['2008','2009']}
df1 = pd.DataFrame(dic)
df1

    Name    SalaryPaid      Year
0   John    $204,546,289.35 2008
1   Peter   $500,231,289.35 2009

代码

df1['SalaryPaid'] = df1['SalaryPaid'].str.replace(',', '')
# If you want the result as a string : 
df1['2016 Salary ($)']= df1['SalaryPaid'].str.strip('$')
# if you want the result as float : 
#df1['2016 Salary ($)']= df1['SalaryPaid'].str.strip('$').astype(float) 


df1

结果

    Name    SalaryPaid  Year    2016 Salary ($)
0   John    $204546289.35   2008    204546289.35
1   Peter   $500231289.35   2009    500231289.35

推荐阅读