新闻动态

pandas 如何将字符串映射为数字

发布日期:2022-07-20 19:02 | 文章来源:脚本之家

pandas 将字符串映射为数字

在有些数据集中,有些数据变量用字符串表示,但为了方便处理,往往想转换为好处理的格式,这时候不一定要用one hot进行编码,也可以直接转成整数:

test_df["xx"] = pd.factorize(test_df["xx"])[0].astype(int)

但是这样映射的数字是从0开始的,如果有初始要求,可以对映射结果加上某个值,例如,把从0开始变为从15开始:

test_df["xx"] = test_df["xx"].add(15)

效果gift_cards["user_id"] = pd.factorize(gift_cards["user_id"])[0].astype(int):

user_id item_id ratings time
0 B001GXRQW0 APV13CM0919JD1.0 1229644800
1 B001GXRQW0 A3G8U1G1V082SN5.0 1229472000
2 B001GXRQW0 A11T2Q0EVTUWP5.0 1229472000
3 B001GXRQW0 A9YKGBH3SV22C5.0 1229472000
4 B001GXRQW0 A34WZIHVF3OKOL1.0 1229472000
...... ...... ...
147189 B01H5PPJT4 A2K9WVQW9TLWNK5.0 1536969600
147190 B01H5PPJT4 A149ALSR6TPGF74.0 1536278400
147191 B01H5PPJT4 A2Q066NZCQSCOR5.0 1535500800
147192 B01H5PPJT4 A1KJLWCW7XBS8I5.0 1534550400
147193 B01H5PPJT4 ANABUB0FRZXRM5.0 1534204800

user_id item_id ratings time
0 0 APV13CM0919JD1.0 1229644800
1 0 A3G8U1G1V082SN5.0 1229472000
2 0 A11T2Q0EVTUWP5.0 1229472000
3 0 A9YKGBH3SV22C5.0 1229472000
4 0 A34WZIHVF3OKOL1.0 1229472000
... ... ...... ...
147189858 A2K9WVQW9TLWNK5.0 1536969600
147190858 A149ALSR6TPGF74.0 1536278400
147191858 A2Q066NZCQSCOR5.0 1535500800
147192858 A1KJLWCW7XBS8I5.0 1534550400
147193858 ANABUB0FRZXRM5.0 1534204800

pandas 将某一列的字符值转换为数字

使用map的方法就可以实现把某一列的字符类型的值转换为数字。

class_mapping = {'A':0, 'B':1}
data[class] = data[class].map(class_mapping)

首先定义一个字典,然后使用map方法就可以把某一列的字符类型的值转换为数字。

好了,这就是对使用pandas把某一列的字符值转换为数字的认识。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

美国服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部