python - 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
为年度值以便更好地比较?
解决方案
您需要了解一个(例如“每小时”)如何转换为年份。一旦你有了翻译,如下所示:
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 小时的工作周
推荐阅读
- npm - Npm 审计问题
- java - Java 不兼容的操作数类型 void 和 Class
- python - Jsonify Flask:内容长度与消息正文大小不匹配
- c++ - 使用命名空间标准的 C++ 最佳实践;
- java - 避免将依赖项“向下传递”到实体子类
- haskell - 为什么函数组合在haskell中需要parantesis?
- python - 区分两个数据集
- python - 计算方式数
- python - 在输出上创建一个字符串。输出是一个 NoneType 对象
- node.js - 使用 NodeJS 或 Electron 在 Microsoft 商店中发布 Windows 服务