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