繁体   English   中英

Pandas - 列值转换

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM