
目录
特殊连接
- merge_ordered()和merge_asof()是pandas的特殊连接。用于有序变量为键的合并,其参数中on、left_on、right_on、suffix和普通连接merge()的参数一致。
- 区别:merge_ordered()用于连接、插值和分组打包,而merge_asof()用于模糊连接。
merge_ordered()
构造两个表,按照表一的group进行分组,以time列为键外连接表2,并对结果进行排序,如果组内连接后有缺失值则用前一个元素填充。
import pandas as pd
#表一
df1 = pd.DataFrame({'time':pd.date_range('20230101','20230106'),'left_value':range(6),'group':list('aabbcc')})
df1
输出:
| time | left_value | group | |
|---|---|---|---|
| 0 | 2023-01-01 | 0 | a |
| 1 | 2023-01-02 | 1 | a |
| 2 | 2023-01-02 | 2 | b |
| 3 | 2023-01-04 | 3 | b |
| 4 | 2023-01-01 | 4 | c |
| 5 | 2023-01-03 | 5 | c |
df2 = pd.DataFrame({'time':pd.date_range('20230101','20230104'),'right_value':list('ABCD')})
df2 #表二
| time | right_value | |
|---|---|---|
| 0 | 2023-01-01 | A |
| 1 | 2023-01-02< |

文章介绍了Pandas库中的两个特殊连接函数merge_ordered和merge_asof的使用方法。merge_ordered适用于有序变量的外连接,通过分组和插值处理缺失值;merge_asof则用于基于时间序列的模糊连接,允许指定方向和容忍度来匹配数据。

999

被折叠的 条评论
为什么被折叠?



