我有兩個數據框:fpm
和real
。請參見下面的示例:熊貓外部合併返回的位置值和額外的Nans
month fpm region_id
94934 11 3.106522e+07 5300108
94935 23 3.476453e+07 5300108
94936 35 4.480962e+07 5300108
94937 47 4.148533e+07 5300108
94938 59 4.324909e+07 5300108
94939 71 5.908792e+07 5300108
94940 83 6.218772e+07 5300108
94941 95 6.881312e+07 5300108
region_id month gdp_region
72397 5300108 35 5.390220e+10
72398 5300108 47 5.845612e+10
72399 5300108 59 6.707650e+10
72400 5300108 71 7.573268e+10
72401 5300108 83 8.466141e+10
72402 5300108 95 9.340400e+10
我想region_id
和month
合併它們。
爲了做到這一點,我用命令:
j = pd.merge(real, fpm, how='outer', on=['region_id', 'month'], left_index='off', right_index='off')
什麼情況是,從fpm
列一些外來值加入的region_id 5300108
同一行與實際gdp_region
在正確region_id
實際上並沒有加入和month
。
我已經檢查過兩列是同一類型的:int
這是錯誤的結果。注意INDEXES是不同的。我明確表示設置了index='off'
。
region_id month gdp_region fpm
72397 5300108 35 5.390220e+10 1.649367e+07
72398 5300108 47 5.845612e+10 1.968157e+07
72399 5300108 59 6.707650e+10 2.088269e+07
72400 5300108 71 7.573268e+10 4.027545e+06
72401 5300108 83 8.466141e+10 1.197713e+06
72402 5300108 95 9.340400e+10 1.383501e+06
72403 5300108 107 1.102996e+11 1.718117e+06
72404 5300108 119 1.243238e+11 1.827867e+06
72405 5300108 131 1.441741e+11 2.053814e+06
72406 5300108 143 1.545690e+11 2.597804e+06
72407 5300108 155 1.641013e+11 2.908494e+06
72408 5300108 167 1.759067e+11 3.394452e+06
72409 5300108 179 1.974321e+11 4.022392e+06
94934 5300108 11 NaN 3.106522e+07
94935 5300108 23 NaN 3.476453e+07
94936 5300108 35 NaN 4.480962e+07
94937 5300108 47 NaN 4.148533e+07
94938 5300108 59 NaN 4.324909e+07
94939 5300108 71 NaN 5.908792e+07
94940 5300108 83 NaN 6.218772e+07
94941 5300108 95 NaN 6.881312e+07
感謝您的任何建議。 謝謝。
'pd.merge(真實的,FPM,如何= '左',就= [ 'REGION_ID', '月'])' – Wen
如果我用怎樣= '左' 我失去的信息例如,我有11個月的'fpm'。 –
然後用'how''right'' – Wen