2
我一直試圖以一種乾淨的方式來解決這個問題,但是在這個任務上一直都失敗了。返回多列中的相應值大熊貓
海峽去給點...我有2個dataframes:
df1
anID siID daID
0 A 0 0
1 D 0 0
2 E 0 0
3 F 0 0
4 G A D
5 H E D
6 B 0 0
7 I E M
8 L F 0
9 M B H
10 N A D
df2
map_id renum_id
0 A 1
1 C 2
2 B 3
3 E 4
4 D 5
5 F 6
6 Q 7
7 V 8
8 H 9
9 G 10
10 N 11
基本上,df1
是識別碼的數據幀,df2$renum_id
有新的代碼來替換現有和df2$map_id
是地圖上的哪個以指導df1
的列的重新編碼。
現在我需要一個乾淨的和光/快速的方式來獲得相應的renum_id
值(使用map_id
作爲密鑰)對所有3列df1
(anID
,siID
,daID
)。基本上,我希望它爲每個字母提供相應的renum_ID,並將0
(零)保留爲df1中的零。
所以,我需要一個df3
這樣的:
anID siID daID anID/ siID/ daID/
0 A G 0 1 10 0
1 D E A 5 4 1
2 E 0 0 4 0 0
3 F B D 6 3 5
4 G A D 10 1 5
5 H E D 9 4 5
6 B 0 0 2 0 0
7 N A D 11 1 5
這也可能是很簡單的東西,但我一直在試圖與pd.merge
,不能拿出一些解決我的問題。數據幀擁有數十萬行數據,這就是爲什麼我堅持需要「輕量級」的方式來解決這個問題。
謝謝大家提前。
要命!這正是我需要的! – BrnCPrz
很高興能爲您提供幫助!祝你好運! – jezrael