第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 pandas 中將臟字符串映射到數(shù)字

如何在 pandas 中將臟字符串映射到數(shù)字

明月笑刀無情 2023-10-06 18:33:21
我正在開發(fā)一個(gè) python 項(xiàng)目,并且正在處理 csv 文件中的數(shù)據(jù),并且嘗試通過將數(shù)據(jù)從字符串轉(zhuǎn)換為浮點(diǎn)值來將用戶數(shù)據(jù)轉(zhuǎn)換為可用的數(shù)據(jù)。這是一列相關(guān)的數(shù)據(jù)F10WhiteWhiteBlackAsian-Pac-IslanderWhiteBlack...這是我正在使用的代碼;trainData = pd.read_csv('train.csv')trainData['F10'].map({' White': 0, ' Black': 1, ' Asian-Pac-Islander': 2, 'white': 0, 'White': 0, 'Black': 1, 'Asian-Pac-Islander': 2,  " White": 0, " Black": 1, " Asian-Pac-Islander": 2, "white": 0, "White": 0, "Black": 1, "Asian-Pac-Islander": 2})不幸的是,盡管如此,當(dāng)我打印出trainData時(shí),字符串Asian-Pac-Islander、White、Black仍然出現(xiàn)。我一直用這個(gè)作為指導(dǎo),我做錯(cuò)了什么?
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

最好使用小寫值,因此您不必匹配所有變體。這可以通過 來實(shí)現(xiàn)str.lower()。

用于str.strip()刪除前導(dǎo)和尾隨空格

import pandas as pd


# test dataframe

trainData = pd.DataFrame({'F10': ['White ', 'White', 'Black', ' Asian-Pac-Islander', ' White ', ' Black']})


# strip, lower and map

trainData['F10_numeric'] = trainData['F10'].str.strip().str.lower().map({'white': 0, 'black': 1, 'asian-pac-islander': 2})


# display(trainData)

                   F10  F10_numeric

0               White             0

1                White            0

2                Black            1

3   Asian-Pac-Islander            2

4               White             0

5                Black            1

前面的代碼不會(huì)修復(fù)該F10列,它只是針對映射進(jìn)行調(diào)整。

下面將更新F10,然后將值映射到數(shù)字。

# fix F10

trainData['F10'] = trainData['F10'].str.strip().str.lower()


# map on the fixed F10 column

trainData['F10_numeric'] = trainData['F10'].map({'white': 0, 'black': 1, 'asian-pac-islander': 2})


# display(trainData)

                  F10  F10_numeric

0               white            0

1               white            0

2               black            1

3  asian-pac-islander            2

4               white            0

5               black            1


查看完整回答
反對 回復(fù) 2023-10-06
?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

如果您想更改數(shù)據(jù)框中的實(shí)際列,則必須使用以下命令:

trainData['F10'].replace({' White': 0, ' Black': 1, ' Asian-Pac-Islander': 2, 'white': 0, 'White': 0, 'Black': 1, 'Asian-Pac-Islander': 2,  " White": 0, " Black": 1, " Asian-Pac-Islander": 2, "white": 0, "White": 0, "Black": 1, "Asian-Pac-Islander": 2}, inplace=True)

請注意,我使用了inplace=True

一個(gè)不需要的更好的替代方案inplace=True是:

trainData['F10'] = trainData['F10'].str.strip().str.lower().replace({'white': 0, 'black': 1, 'asian-pac-islander': 2})



查看完整回答
反對 回復(fù) 2023-10-06
  • 2 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號