python - 无法将字符串列转换为在熊猫中浮动
问题描述
我想在 DataFrame 收入中添加一个名为“2016 Salary ($)”的新列,其中包含表 Salary Paid 中的员工工资作为数字。我想通过删除“$”和“,”来删除该数字。
但是当我这样做时,我收到错误消息:
'无法将字符串转换为浮点数'
我尝试按照提示进行操作,但它不起作用:
income['2016 Salary ($)']= income['SalaryPaid'].str.strip('$').astype(float)
income['2016 Salary ($)'].apply(lambda X:X['Salary Paid'])
income
解决方案
尝试这样的事情:
资料:
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
推荐阅读
- python - 无法安装 python-weka-wrapper
- javascript - 如何在用户当前键入时从用户那里获取数据?
- javascript - 如何删除或过滤数组中的特定对象
- react-native - 将多个数据传递到下一个场景
- laravel - 通过子域运行回显服务器时连接到套接字通道时出错
- r - 两个相同的操作产生不同结构的输出
- flutter - 被 Youtube Player Flutter 覆盖的锁定方向
- flutter - inject-dart 无法快照构建脚本 .dart_tool/build/entrypoint/build.dart。这可能是由错误配置的构建器定义引起的
- spring - Omifaces @Push 和 Spring 集成
- gitlab - 使用标签在跑步者身上执行作业的最佳方式?