[英]Pandas - Column value conversions
我的数据:我有一个如下所示的数据集:
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
转换为年度值以便更好地进行比较?
你可以使用map
:
# modify this to fit your need
maps = pd.Series([1, 365, 365*24], index=['Annually', 'Daily', 'Hourly'])
df['salary_range_low'] *= df['salary_frequency'].map(maps)
factor_mapper = {'Hourly': 8 * 253, 'Daily': 253, 'Annual': 1}
df['salary_range_low'] = df['salary_range_low'] * df['salary_frequency'].map(factor_mapper)
您需要了解一个(例如“每小时”)如何转换为年份。 完成翻译后,如下所示:
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 小时的工作周
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.