pandas 如何将字符串映射为数字
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处理。