我有兩個不同的DataFrame,我想合併date
和hours
列。我看到有一些threads那裏,但我找不到解決我的問題。我也讀this文件,並嘗試了不同的組合,但是,並不好。合併具有來自兩個不同列的匹配值的DataFrames - Pandas
我的兩個不同DataFrames的例子,
DF1
date hours var1 var2
0 2013-07-10 00:00:00 150.322617 52.225920
1 2013-07-10 01:00:00 155.250917 53.365296
2 2013-07-10 02:00:00 124.918667 51.158249
3 2013-07-10 03:00:00 143.839217 53.138251
.....
9 2013-09-10 09:00:00 148.135818 86.676341
10 2013-09-10 10:00:00 147.833517 53.658016
11 2013-09-10 12:00:00 149.580233 69.745368
12 2013-09-10 13:00:00 163.715317 14.524894
13 2013-09-10 14:00:00 168.856650 10.762779
DF2
date hours myvar1 myvar2
0 2013-07-10 09:00:00 1.617 98.56
1 2013-07-10 10:00:00 2.917 23.60
2 2013-07-10 12:00:00 19.667 36.15
3 2013-07-10 13:00:00 14.217 45.16
.....
20 2013-09-10 20:00:00 1.517 53.56
21 2013-09-10 21:00:00 5.233 69.47
22 2013-09-10 22:00:00 13.717 14.25
23 2013-09-10 23:00:00 18.850 10.69
正如你可以在兩個DataFrames,DF2
開始與09:00:00
看到,我想用DF1
加盟09:00:00
,這基本上是matchind日期和倍。到目前爲止,我使用前面的線程和上面提到的文檔嘗試了許多不同的組合。一個例子,
merged_df = DF2.merge(DF1, how = 'left', on = ['date', 'hours'])
這引入了對右right
數據幀NAN
值。我知道,我不必同時使用date
和hours
列,但是,仍然會得到相同的結果。我試過R
就像這樣,這很好。
merged_df <- left_join(DF1, DF2, by = 'date')
反正在pandas
合併DatFrames只是沒有得到NaN
值匹配的值?
您的R代碼和熊貓代碼不匹配。無論哪種方式,請在小型DataFrame上顯示輸出(不正確和正確)。 – ayhan