python pandas quantlib.time.date.Date

python pandas quantlib.time.date.Date

我有两个数据框:

import pandas as pd
from quantlib.time.date import Date
cols = ['ColStr','ColDate']
dataset1 = [['A',Date(2017,1,1)],['B',Date(2017,2,2)]]
x = pd.DataFrame(dataset1,columns=cols)
dataset2 = [['A','2017-01-01'],['B','2017-02-04']]
y = pd.DataFrame(dataset2,columns=cols)

现在,我想比较一下两者table。我已经编写了另一组代码来比较两个(更大的)数据帧并适用于字符串和数值。

我的问题是 - 'ColDate' 列一个是字符串类型,另一个是日期类型,我无法验证 'ColStr' = A 是否匹配并且 'ColStr' = 'B' 不匹配。

我必须 (1) 将 y.ColDate 转换为 Date (2) 或将 x.ColDate 转换为 str,其格式与 y.ColDate.

类似

我如何实现其中之一

我想您需要使用 dataset1['ColDate'] = dataset1.ColDate.map(convert_type) 之类的东西或任何其他方法来迭代列值,将它们转换为单一的通用类型。检查 pandas docs 中的其他功能,例如 apply().

convert_type 函数应在您的程序中定义,并接受要传递给 map() 的单个参数。

并且,当列具有相同类型时,您可以使用任何您喜欢的方法来比较它们。

您可能想使用 dt.strftime() 函数。

dataset1[0].dt.strftime("%Y-%m-%d")