2024-09-29 03:32:44 发布
网友
我有两个使用pandas创建并存储为.csv的数据帧。两个数据帧的每一行都有带有日期和时间的列,但时间戳不一定相同。所以,我想创建一个组合的数据帧,这样2在最近时间的基础上连接起来。你知道吗
这是我的first数据帧。这是我的second数据帧。我想为每个文件名获取kp和f107值,这些文件名在日期和时间上最接近第一个数据帧中每行的Avg\u time列。我该怎么做?有没有merge with method='nearest'类型的方法来处理pandas?你知道吗
您可以将Pandas 0.20.2中的pd.merge_asof与direction='nearest'一起使用:
pd.merge_asof
direction='nearest'
pd.merge_asof(df1.sort_values(by='file_date'),df2.sort_values(by='AST'), left_on='file_date', right_on='AST', direction='nearest')
输出:
Filename file_date Avg_time AST f107 kp 0 Na1998319 1998-11-16 2:14 1998-11-15 23:00:00 121.8 2.3 1 Na1998320 1998-11-17 2:01 1998-11-16 23:00:00 118.0 2.3 2 Na1998321 1998-11-18 0:38 1998-11-17 23:00:00 112.2 2.3 3 Na1998322 1998-11-18 20:51 1998-11-17 23:00:00 112.2 2.3 4 Na1999020 1999-01-20 22:53 1999-01-19 23:00:00 231.3 0.7
您可以将Pandas 0.20.2中的
pd.merge_asof
与direction='nearest'
一起使用:输出:
相关问题 更多 >
编程相关推荐