【发布时间】:2021-05-18 20:17:07
【问题描述】:
我的数据集中有以下列,数据按原样来自我的数据源:
Salary
~£2000
~£2000.15 per week
~£2000.50 per month
~£2000 - ~£5000 range
100000INR
INR
现在我想创建一个应该如下所示的新列:
Salary_clean
2000
104007.8
240006
35000
964
0
所以下面的逻辑将遵循(所有的salareis最终都是每年一次):
- 当该列有一个独立的数字时,这意味着工资已经按年计算并且不需要任何操作
- 如果薪水旁边写着“每周”,则将该薪水乘以 52
- 如果薪水旁边写着“每月”,则将该薪水乘以 12
- 如果薪水旁边写着“x-y 范围”,则计算该范围的中位数,这就是正确的薪水
- 如果薪水旁边写着“XXX 货币”,如 INR,则使用该货币当前对 GBP(英镑)的兑换率计算薪水
- 如果salary只有“XXX”这样的货币代码,则将salary设为0
我怎样才能做到这一点?
【问题讨论】:
标签: python-3.x pandas data-manipulation data-wrangling