Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用.map应用函数时,请使用两列或多列中的数据_Python_Datetime_Pandas - Fatal编程技术网

Python 使用.map应用函数时,请使用两列或多列中的数据

Python 使用.map应用函数时,请使用两列或多列中的数据,python,datetime,pandas,Python,Datetime,Pandas,我想以YYYY-MM-DD格式计算两个日期之间的差异。当我写入df[“diff”]=df[“date1”]-df[“date2”]时,我得到一个类似于75天的值,我无法排序 如何编写它,以便映射到calc_diff(date1,date2)函数 即I df[“diff”]=df[“date1”]、df[“date2”].地图(计算差异) 当我写下以下内容时,我得到: df["until_payable"] = map(calc_diff, df["ex_div_date"], "date_pay

我想以YYYY-MM-DD格式计算两个日期之间的差异。当我写入df[“diff”]=df[“date1”]-df[“date2”]时,我得到一个类似于75天的值,我无法排序

如何编写它,以便映射到calc_diff(date1,date2)函数

即I df[“diff”]=df[“date1”]、df[“date2”].地图(计算差异)

当我写下以下内容时,我得到:

df["until_payable"] = map(calc_diff, df["ex_div_date"], "date_payable")

def calc_diff(d1,d2):
    y = pd.to_datetime(d1)
    x = pd.to_datetime(d2)
    return x-y
错误:

<ipython-input-167-b151c936730f> in calc_diff(d1, d2)
     39     y = pd.to_datetime(d1)
     40     x = pd.to_datetime(d2)
---> 41     return x-y
     42 
     43 #convert the data in columns to data types

pandas/tslib.pyx in pandas.tslib._Timestamp.__sub__ (pandas/tslib.c:17620)()

TypeError: descriptor '__sub__' requires a 'datetime.datetime' object but received a 'str'
计算差异中的
(d1、d2)
39 y=pd.至_日期时间(d1)
40 x=pd.至_日期时间(d2)
--->41返回x-y
42
43#将列中的数据转换为数据类型
pandas.tslib.时间戳中的pandas/tslib.pyx(pandas/tslib.c:17620)()
TypeError:描述符“\uuuuu sub\uuuuuuu”需要一个“datetime.datetime”对象,但收到一个“str”

如果我正确理解了您,您的问题的解决方案是:

res = map(calc_diff, date1, date2)

请注意,
date1
date2
应该是相同的长度

Zachi Shtain-知道是什么导致了错误-需要一个datetime,但收到了一个字符串?@Yoshisery-您发送的第二个参数是
string
而不是
datetime
对象
res = map(calc_diff, date1, date2)