簡體   English   中英

用 pandas 中的數字替換列中的多個字符串值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM