python - Pandas:根据索引列中的条件填充和合并两个不同的数据框
问题描述
我有两个 DataFrame,第一个是 1 月份的 NYC 出租车数据集包含(10678070 行和 7 列),第二个是 NYC 天气数据集,也是 1 月份的每个小时(864 行和 30 列),如下所示:
df2.head()
天气头()
所以现在,我想做的是合并两个数据框或weather
根据行程日期和时间向 df2 添加列详细信息等于或小于天气记录。
因此,如果 df2 中的列 (tpep_pickup_datetime) 与 weather 中的 (tpep_pickup_datetime) 匹配或小于 (tpep_pickup_datetime) ,则天气中的值将附加到 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()
在熊猫中有没有一种流畅的方法来做到这一点?提前感谢大家!
解决方案
推荐阅读
- azure - azurerm 角色分配,在提供程序中使用 client_id、client_secret、subscription_id、tenant_id 时无法分配角色
- html - 当想要导出回归表时,R-package 与 psce-package 兼容
- c - 调试 C 程序时 Visual Studio Code 中的分段错误
- octopus-deploy - Octopus Script to set Variable for use in ARM template Deployment
- android - Android.content.res.Resources$NotFoundException:如何处理?
- java - 迁移到 Mongo Morphia 2
- angular - 使用 ng build 部署时,GridComponent 不起作用
- javascript - 顶部对齐正方形内的文本
- html - 设计Mobile First时如何处理`display:none`?
- linear-programming - 不同尺寸箱子的卡车优化