1
import pandas as pd
df1 = pd.DataFrame({'date': ['2015-01-01', '2015-01-10', '2015-01-11', '2015-01-12'], 'a': [1,2,3,4]})
df2 = pd.DataFrame({'date': ['2015-01-01', '2015-01-05', '2015-01-11'], 'b': [10,20,30]})
df = df1.merge(df2, on=['date'], how='outer')
df = df.sort_values('date')
print df
「像磁性的東西」可能無法在標題很好的體現。我將在下面解釋。大熊貓合併DataFrames像磁事情
我想從df2記錄匹配df1的第一條記錄,該日期大於或等於df2。例如,我想讓df2的'2015-01-05'與df1的'2015-01-10'相匹配。
我不能通過將它們合併在inner
,outer
,left
的方式來實現它。儘管如此,上述結果與我想要的非常接近。
a date b
0 1.0 2015-01-01 10.0
4 NaN 2015-01-05 20.0
1 2.0 2015-01-10 NaN
2 3.0 2015-01-11 30.0
3 4.0 2015-01-12 NaN
如何從我從事的工作或從其他方面從頭開始做到這一點?
a date b
0 1.0 2015-01-01 10.0
1 2.0 2015-01-10 20.0
2 3.0 2015-01-11 30.0
3 4.0 2015-01-12 NaN
我決心要兼得。不知道是否有可能...但嘗試 – piRSquared
超級,numpy解決方案獲得所需的輸出。 – jezrael
謝謝,它的作品像魅力! – gzc