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")
我有两个数据框:
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")