pandas?如何將字符串映射為數(shù)字
pandas 將字符串映射為數(shù)字
在有些數(shù)據(jù)集中,有些數(shù)據(jù)變量用字符串表示,但為了方便處理,往往想轉(zhuǎn)換為好處理的格式,這時候不一定要用one hot進行編碼,也可以直接轉(zhuǎn)成整數(shù):
test_df["xx"] = pd.factorize(test_df["xx"])[0].astype(int)
但是這樣映射的數(shù)字是從0開始的,如果有初始要求,可以對映射結(jié)果加上某個值,例如,把從0開始變?yōu)閺?5開始:
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 將某一列的字符值轉(zhuǎn)換為數(shù)字
使用map的方法就可以實現(xiàn)把某一列的字符類型的值轉(zhuǎn)換為數(shù)字。
class_mapping = {'A':0, 'B':1} data[class] = data[class].map(class_mapping)
首先定義一個字典,然后使用map方法就可以把某一列的字符類型的值轉(zhuǎn)換為數(shù)字。
好了,這就是對使用pandas把某一列的字符值轉(zhuǎn)換為數(shù)字的認(rèn)識。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。