熊猫:根据索引列中的条件填充和合并两个不同的数据框

时间:2020-02-06 03:37:50

标签: python pandas dataframe

我有两个DataFrame,第一个是1月份包含的纽约出租车数据集(10678070行和7列),第二个是NYC气象数据集,同样是1月的每小时(864行和30列),如下所示:

df2.head()

NYC taxis DataFrame

weather.head()

NYC weather DataFrame

现在,我想做的是合并两个数据帧,或者根据旅行日期和时间等于或小于天气记录,向df2添加weather列详细信息。
因此,如果df2中的列(tpep_pickup_datetime)匹配天气或小于weather中的(tpep_pickup_datetime),则将weather中的行附加到df2中的相应行。 我通过使用merge函数(merge_asof)进行了尝试,如下所示:

import pandas


# Sort data before merge then merge
df2.sort_values(by='tpep_pickup_datetime', inplace=True)
weather.sort_values(by='tpep_pickup_datetime', inplace=True)
dmerge=pandas.merge_asof(df2,weather, on="tpep_pickup_datetime", tolerance=pandas.Timedelta('31m'))

但是我在天气列中得到了带有NAN值的df2,如下所示:

dmerge.head()

enter image description here

在熊猫中,有没有一种顺利的方法? 预先谢谢大家!

0 个答案:

没有答案