[英]Replacing multiple string values in a column with numbers in pandas
我目前正在處理 pandas 中名為df
的數據框。 一列包含多個標簽(准確地說,超過 100 個)。
我知道當值較少時如何替換值。
例如,在典型的泰坦尼克號示例中:
titanic.Sex.replace({'male': 0,'female': 1}, inplace=True)
當然,為 100 多個值這樣做會非常耗時。 我見過類似的問題,但所有答案都涉及輸入數據。 有沒有更快的方法來做到這一點?
我認為您正在尋找factorize
:
df = pd.DataFrame({'col': list('ABCDEBJZACA')})
df['factor'] = df['col'].factorize()[0]
output:
col factor
0 A 0
1 B 1
2 D 2
3 C 3
4 E 4
5 B 1
6 J 5
7 Z 6
8 A 0
9 C 3
10 A 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.