Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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 无法获得熊猫的天数。。它包含另一列的日期_Python_Pandas_Datetime - Fatal编程技术网

Python 无法获得熊猫的天数。。它包含另一列的日期

Python 无法获得熊猫的天数。。它包含另一列的日期,python,pandas,datetime,Python,Pandas,Datetime,我一直在尝试获取天数(SCN日期-今天)。我尝试了不同的方法,我最近的尝试如下。它将日期从SCN date放入“今天” 我只需要得到数字形式的天数 import pandas as pd eod = pd.read_excel('df.xlsx') import datetime eod['Today'] = datetime.date.today() eod['Today'] = pd.Series(eod['Today']) eod['Today'] = pd.Series(eod['SC

我一直在尝试获取天数
(SCN日期-今天)
。我尝试了不同的方法,我最近的尝试如下。它将日期从
SCN date
放入“今天”

我只需要得到数字形式的天数

import pandas as pd
eod = pd.read_excel('df.xlsx')
import datetime
eod['Today'] =  datetime.date.today()
eod['Today'] = pd.Series(eod['Today'])
eod['Today'] = pd.Series(eod['SCN Date'])
eod['Days'] = eod['Today']-eod['SCN Date']
用于无时间的datetimes,按提取输出时间增量并将其转换为天,解决方案没有新列:

eod = pd.read_excel('df.xlsx')

eod['Days'] = (pd.Timestamp('now').floor('d') - eod['SCN Date']).dt.days
或者,如有必要,将列转换为日期时间使用:


首先,这是如何使用python datetime获得以天为单位的日期差:

date1 = datetime.datetime.now()
date2 = datetime.datetime.now()
delta = date2 - date1
print(delta.days)
那么如果我们把它应用到熊猫身上:

import pandas as pd
eod = pd.read_excel('Documents/sample.xlsx')
import datetime
eod["Today"] = datetime.datetime.now()
eod["Delta"] = eod["Today"] - eod["SCN Date"]
eod["DeltaDays"] = eod["Delta"].apply(lambda x: x.days)
最后一行:
eod[“DeltaDays”]=eod[“Delta”].apply(lambda x:x.days)
意味着,对于“Delta”列中的每个数据,取其“days”属性并将其保存到“DeltaDays”列

结果:

>>> eod
     SCN Date Name                      Today                    Delta  DeltaDays
0  2020-01-01    a 2020-09-10 14:20:30.046694 253 days 14:20:30.046694        253
1  2020-01-02    b 2020-09-10 14:20:30.046694 252 days 14:20:30.046694        252
2  2020-01-03    c 2020-09-10 14:20:30.046694 251 days 14:20:30.046694        251
3  2020-01-04    d 2020-09-10 14:20:30.046694 250 days 14:20:30.046694        250
4  2020-01-05    e 2020-09-10 14:20:30.046694 249 days 14:20:30.046694        249
5  2020-01-06    f 2020-09-10 14:20:30.046694 248 days 14:20:30.046694        248
6  2020-01-07    e 2020-09-10 14:20:30.046694 247 days 14:20:30.046694        247
7  2020-01-08    f 2020-09-10 14:20:30.046694 246 days 14:20:30.046694        246
8  2020-01-09    f 2020-09-10 14:20:30.046694 245 days 14:20:30.046694        245
9  2020-01-10    f 2020-09-10 14:20:30.046694 244 days 14:20:30.046694        244
10 2020-01-11    f 2020-09-10 14:20:30.046694 243 days 14:20:30.046694        243
>>> eod
     SCN Date Name                      Today                    Delta  DeltaDays
0  2020-01-01    a 2020-09-10 14:20:30.046694 253 days 14:20:30.046694        253
1  2020-01-02    b 2020-09-10 14:20:30.046694 252 days 14:20:30.046694        252
2  2020-01-03    c 2020-09-10 14:20:30.046694 251 days 14:20:30.046694        251
3  2020-01-04    d 2020-09-10 14:20:30.046694 250 days 14:20:30.046694        250
4  2020-01-05    e 2020-09-10 14:20:30.046694 249 days 14:20:30.046694        249
5  2020-01-06    f 2020-09-10 14:20:30.046694 248 days 14:20:30.046694        248
6  2020-01-07    e 2020-09-10 14:20:30.046694 247 days 14:20:30.046694        247
7  2020-01-08    f 2020-09-10 14:20:30.046694 246 days 14:20:30.046694        246
8  2020-01-09    f 2020-09-10 14:20:30.046694 245 days 14:20:30.046694        245
9  2020-01-10    f 2020-09-10 14:20:30.046694 244 days 14:20:30.046694        244
10 2020-01-11    f 2020-09-10 14:20:30.046694 243 days 14:20:30.046694        243