熊猫merge_asof:参数类型错误

时间:2019-10-15 21:16:33

标签: python python-3.x pandas

我正在尝试使用Pandas的merge_asof,但出现错误:

TypeError: Function call with ambiguous argument types

可复制的示例:

import pandas as pd

a = pd.DataFrame({'foo': [1., 2.], 'bar': ['2019-01-01 00:00:10', '2019-01-01 00:00:20']})
b = pd.DataFrame({'foo': [2., 5.], 'baz': ['2019-01-01 00:00:05', '2019-01-01 00:00:25']})
a['bar'] = pd.to_datetime(a['bar'])
b['baz'] = pd.to_datetime(b['baz'])

pd.merge_asof(a,
              b,
              left_on='bar',
              right_on='baz',
              direction='backward',
              by='foo',
              allow_exact_matches=False)

我尝试检查pandas.core.reshape.merge文件,但没有解决问题的运气

1 个答案:

答案 0 :(得分:0)

问题 pd.merge_asof( 剩下, 对, on=None,by=None) 是由于“ON”参数。它必须是日期类型,否则会抛出参数类型不明确的错误。因此我们需要使用 pd.to_datetime() 将它们转换为 pandas datetime 对象来解决错误。

enter image description here