首页 > 解决方案 > Pandas - 列值转换

问题描述

我的数据:我有一个如下所示的数据集:

dataset = pd.DataFrame({
   'salary_frequency': ['Annual', 'Annual', 'Hourly', 'Hourly', 'Annual', 'Monthly'], 
   'salary_range_low': [51907.68, 51907.85, 35, 35, 50598, 4000]})

中的值salary_range_low基于salary_frequency( ['Daily', 'Hourly' or 'Annual'])。

我的问题:如何将所有值转换salary_range_low为年度值以便更好地比较?

标签: pythonpandasdataframedata-science

解决方案


您需要了解一个(例如“每小时”)如何转换为年份。一旦你有了翻译,如下所示:

map_dict = {'Annual': 1, 'Hourly': 1880, 'Monthly': 12}

您可以使用pd.Series.map和乘法:

df['per_year'] = df['salary_frequency'].map(map_dict) * df['salary_range_low']
df

注意: 1880 小时是基于每年 47 个工作 40 小时的工作周


推荐阅读