python - Python - 将数据中的代码映射到描述的最佳方法
问题描述
我得到了我想要的结果,但想了解这是否被认为是最好的,或者甚至是将数据代码映射到描述符的正确方法。
我有一个数据集,其中许多值存储为代表某些属性的数字代码 - 例如
Fruit_Type:
1 = Apple,
2 = Orange,
3 = Banana,
4 = Grape
在 SAS 中,我会使用 Proc 格式将数字映射到描述符。在 SQL 中,我通常会使用 case 语句,它可以让我保留原始字段名称或为其分配一个新名称。
我对 Python 还很陌生,我很好奇什么是最好的方法。我一直在使用的 - 似乎工作正常是将映射创建为字典,然后使用 .apply 函数创建一个新列。这可行,但这是正确的方法吗?
import pandas as pd
# Create sample dataframe
data = {'Fruit_Type':[1, 2, 2, 3, 1, 2, 4],
'other_data':['blah', 'blah','blah', 'blah','blah', 'blah',
'blah']}
df = pd.DataFrame(data)
#create dictionary
Fruit_Type_dictionary = {1: 'Apple',
2: 'Orange',
3: 'Banana',
4: 'Grape'}
df['rpt_Fruit_Type']= df['Fruit_Type'].apply(lambda x: Fruit_Type_dictionary.get(x))
print(df)
产生:
Fruit_Type other_data rpt_Fruit_Type
0 1 blah Apple
1 2 blah Orange
2 2 blah Orange
3 3 blah Banana
4 1 blah Apple
5 2 blah Orange
6 4 blah Grape
这几乎给了我想要的结果。
解决方案
我会使用 Series map方法来提高可读性:
df['rpt_Fruit_Type']= df['Fruit_Type'].map(Fruit_Type_dictionary)
推荐阅读
- android - 在 gradle build 中使用本机 java 脚本
- laravel - Laravel 密码重置错误信息
- json - github api 创建问题返回状态 422
- python - 从 Python 中的图像中获取所需的部分并找到该部分中的缺陷像素
- jquery - 一旦按下相关按钮,JQuery 移动弹出窗口并不总是出现
- c# - 从插件中取消系统作业实体
- google-sheets - 谷歌表格公式中的单元格变量
- arduino - 使用 hm-10 BLE 在 arduino 之间传输数据
- javascript - 无法在 chrome 扩展中使用 Netsuite (nlapi)
- sql - 在 SQLite 中查找最长的公共日期跨度