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