python - 将数据框文本列屏蔽为熊猫数据框中的新列
问题描述
我在下面有熊猫数据框,我想用新列掩盖 ProductId 列。将每个 id 分配给一个新的数值。我怎样才能做到这一点?谢谢
import pandas as pd
df=pd.DataFrame({'ProductId':['AXX11','CS22','AXX11','FV34','FV34','DF23','CS22'],'Sales':
[10,34,23,45,23,54,65]})
df
期望的结果如下:
ProductId Mask_ProductId Sales
AXX1 20 10
CS22 21 34
AXX1 20 23
FV34 8 45
FV34 8 23
DF23 12 54
CS22 21 65
请帮忙谢谢
解决方案
使用categorical
:
In [96]: df['Mask_ProductId'] = df.ProductId.astype('category').cat.codes
In [97]: df
Out[97]:
ProductId Sales Mask_ProductId
0 AXX11 10 0
1 CS22 34 1
2 AXX11 23 0
3 FV34 45 3
4 FV34 23 3
5 DF23 54 2
6 CS22 65 1
推荐阅读
- mysql - 从支付工资表中获取最近 3 个月的记录,其中月份和年份存储在单独的列中
- python - openpyxl.chart 指定多个数据标题
- c# - 升级到 MSTest 2.2.4 后,自动化 selenium 测试停止工作
- java - Android:如何为支持相机预览、视频/音频录制和 RTSP 流功能的 android 应用程序进行最佳设计
- javascript - 以格式小时数转换数字
- haskell - 尝试遍历自定义数据类型(目录树)
- mongodb - MongoDB 图表无法加载现有集合
- android - 如何将图标更改为其他应用程序的状态栏
- vue.js - 链接中的 VUEJS 包裹元素
- c++ - IConnectionPoint::Advise() 未触发事件