【发布时间】:2016-10-05 13:29:00
【问题描述】:
给定以下数据框:
import pandas as pd
df=pd.DataFrame({'A':['a','b','c'],
'first_date':['2015-08-31 00:00:00','2015-08-24 00:00:00','2015-08-25 00:00:00']})
df.first_date=pd.to_datetime(df.first_date) #(dtype='<M8[ns]')
df['last_date']=pd.to_datetime('5/6/2016') #(dtype='datetime64[ns]')
df
A first_date last_date
0 a 2015-08-31 2016-05-06
1 b 2015-08-24 2016-05-06
2 c 2015-08-25 2016-05-06
我想创建一个新列,其中包含“first_date”和“last_date”之间的日期列表(或数组),不包括周末。
到目前为止,我已经尝试过:
pd.date_range(df['first_date'],df['last_date'])
...但是会出现这个错误:
TypeError: Cannot convert input to Timestamp
我在 pd.date_range 之前也试过这个...
pd.Timestamp(df['first_date'])
...但没有骰子。
提前致谢!
PS:
在这个障碍之后,我将尝试查看其他日期列表,如果它们属于生成的数组('A' 中的每行),然后将它们从列表或数组中减去)。我会把它作为一个单独的问题发布。
【问题讨论】:
标签: python-3.x pandas timestamp date-range