我們有兩個數據集,其中一個變量col1。 第二個數據中缺少一些等級。例如,讓保持兩個數據之間的分解相同
import pandas as pd
df1 = pd.DataFrame({'col1':["A","A","B","C","D","E"]})
df2 = pd.DataFrame({'col1':["A","B","D","E"]})
當我們因式分解DF1
df1["f_col1"]= pd.factorize(df1.col1)[0]
df1
我們得到了
col1 f_col1
0 A 0
1 A 0
2 B 1
3 C 2
4 D 3
5 E 4
但是,當我們對DF2
df2["f_col1"]= pd.factorize(df2.col1)[0]
df2
做到這一點,我們得到
col1 f_col1
0 A 0
1 B 1
2 D 2
3 E 3
這不是我想要的。我想保持相同的數據分解,即在df2我們應該有類似
col1 f_col1
0 A 0
1 B 1
2 D 3
3 E 4
謝謝。
PS:這兩個數據集並不總是在同一時間可用,所以我不能連接它們。值應該以df1存儲,並在df2可用時使用。
感謝。我嘗試了您的解決方案,但由於數據具有重複值,所以出現錯誤。 InvalidIndexError:重建索引僅對唯一賦值的索引對象有效 – Sharek
示例已更新。 – Sharek
使用'drop_duplicates'去除'df1'中的重複項,檢查更新的部分。 – Zero