1
我想創建一個dictionary
,它將具有多個鍵的值。映射兩個數據框爲一個鍵創建一個包含多個值的字典 - Pandas
我有以下的數據幀df1
這樣的:
ID SUM COUNT
2 3002 256401.0 15
1 3021 5412.49 21
4 3022 45454.12 12
3 3025 15487.23 45
5 3026 154876.1 88
而且我想對ID的映射到大的查找表來獲得多個值爲每個ID。我的另一個查找表df2
看起來像這樣,
ID Var1 Var2 Var3 Var4
0 3021 Cfd45 shkjs shkjs 465
1 3021 sfs None fjslk 323
2 3021 hjfks shka fsad 457
3 3022 None skank vssf 236
4 3022 sdkj vbjajl bbf 124
5 3025 klgf vcbj jgjg 895
6 3026 tuo None gdsfs 457
7 3026 klo ahk None 569
8 3026 nbjd alkdjl sfsfs 124
現在,我想通過ID這兩個DataFrames地圖和創建具有從df2
的var1
,var2
和var3
列獨特的ID和多值的字典,
{3021: ['Cfd45', 'shkjs', 'sfs', 'jkdg', 'fjslk', 'hjfks', 'shka', 'fsad'],
3022: ['skank', 'vssf', 'sdkj', vbjajl', 'bbf'],
3025: ...}
這些值可以在列表或元組中。
對於我的情況,我能找到的最接近的是這個post。但是,當我映射到表時,我需要來自多個列的值。我如何繼續?任何想法,將不勝感激。
謝謝!這是一個好方法。不過,我只需要我只需要'var1','var2'和'var3'。另外,當我有很多記錄時,我認爲這種方法會花費很多時間。 –
@ i.n.n.m好的,添加了對Var1,Var2,Var3 –
的限制,還有其他一些列有大約100多萬條記錄,並且花了很長時間。現在我只限於列,它的工作原理。我正在嘗試這個,在這裏,https://stackoverflow.com/questions/44713968/pandas-dataframe-to-dict-on-multiple-columns-and-values-to-list/44713994#comment80198211_44713994。我猜,區別是在代碼中使用'stack()'來添加多列? –