![](/img/trans.png)
[英]AttributeError: 'Series' object has no attribute 'days'
[英]For loop gets AttributeError: 'Series' object has no attribute 'days'
我正在使用 start_date 和 end_date 数据帧,但我的循环遇到了问题,返回以下错误: AttributeError: 'Series' object has no attribute 'days'
我试图 add.iterrows(), .dt.days, pandas.Series.iteritems 没有成功
# Function to get a list of all dates that are to be downloaded
def get_dates():
df1 = pd.read_csv(r"C:\Users\14385\PycharmProjects\execvet_actrivist_db\short_seller_database.csv")
raw_start_date = df1['Publication Date']
start_date= pd.to_datetime(raw_start_date)
ticker = df1['Ticker']
end_date = start_date + timedelta(days=365) # One year trailing calendar days acc. to IEX docu
**dates = [start_date + timedelta(days=i) for i in range((end_date - start_date).days)] ##.dt.days Not working either**
我还尝试将系列转换为数据框( dates = [start_date + timedelta(days=i) for i in range((end_date.to_frame() - start_date.to_frame))])但失败了
谢谢你的帮助!
此处进行了一些更正,例如,如果下一年是闰年, timedelta(days=365)
不会添加一整年。 第二个start_date
和end_date
应该是 datetime 系列,减法是 TimeDelta object 所以days
应该没问题:
from pandas.tseries.offsets import DateOffset
# ....
start_date= pd.to_datetime(raw_start_date)
end_date = start_date + DateOffset(years=1)
dates = [start_date + DateOffset(days=i) \
for i in (end_date - start_date).days]
我知道dates
矩阵的用途,但假设每天从开始到结束为 start 中的每条记录生成dates
矩阵,您可以使用daterange
:
dates = [pd.date_range(start, start + DateOffset(years=1), freq='1D')\
for start in start_date]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.