所以我有一個包含幾列的資料集。但是,一列是由位置組成的,在這種情況下是街道名稱。我想將它們重命名為一個字母。例如:
| 地點 | 位置新 |
|---|---|
| 布肯蘭 | 一種 |
| 代文特蘭 | 乙 |
| 克里克斯街 | C |
| 代文特蘭 | 乙 |
我必須對多個資料表執行此操作,因此下面的功能需要大量時間來手動調整。
df.replace('Eindhoven Genovevalaan', 'A', regex=True, inplace=True)
任何想法如何自動執行此操作?
uj5u.com熱心網友回復:
你可以使用factorizeand string.ascii_uppercase:
from string import ascii_uppercase
import numpy as np
d = dict(enumerate(ascii_uppercase))
df['Location new'] = pd.Series(df['Location'].factorize()[0]).map(d)
注意。ascii_uppercase( )中只有 26 個值,'ABCDEFGHIJKLMNOPQRSTUVWXYZ'因此您需要指定如果超過 26 行應該發生什么。
輸出:
Location Location new
0 Beukenlaan A
1 Deventerlaan B
2 Crixstraat C
3 Deventerlaan B
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428835.html
