我想用特定日期填寫一列。首先,我創建一個僅填充今天日期的日期列。然後,我計算我想要替換每個位置的日期。該索引採用以下格式:'%Y-%m-%d'
如何替換熊貓數據框中列的日期?
計算效果良好。它是不起作用
還有就是我的最後一行代碼:
for j in range(1, 154):
result['LTD_' + str(j)] = dt.date(dt.datetime.now().year,dt.datetime.now().month,dt.datetime.now().day) #creating a column of dates filled with today day
for i in range(0, len(result.index)):
date_selected = result.iloc[[i]].index
date_month = add_months(date_selected,j)
delivery_month = date_month.month
delivery_year = date_month.year
delivery = dt.date(delivery_year, delivery_month, result[(result.index.month == (delivery_month)) & (result.index.year == delivery_year)].index.day.min())
delloc = result.index.get_loc(str(delivery))
ltdloc = delloc - 3
result.iloc[[i]]['LTD_' + str(j)] = dt.date(result.iloc[[ltdloc]].index.year, result.iloc[[ltdloc]].index.month, result.iloc[[ltdloc]].index.day)
最後一行不起作用通過計算日期,以取代今天的日期。什麼都沒發生。 date.replace生成一個錯誤。
什麼是錯誤?如果使用最後一行'result.iloc [[i]] ['LTD_'+ str(j)] = 0',那麼失敗了?如果使用'print(dt.date(result.iloc [[ltdloc]] .index.year,result.iloc [[ltdloc]] .index.month,result.iloc [[ltdloc]] .index.day))'它失敗了? – jezrael
'result.iloc [[i]] ['LTD_'+ str(j)] = 0',什麼也沒有發生。我還有今天的日期('2017-05-25')。但是,'print(dt.date(result.iloc [[ltdloc]] .index.year,result.iloc [[ltdloc]] .index.month,result.iloc [[ltdloc]] .index.day))'在'result.iloc [[i]] ['LTD_'+ str(j)]''中替換''%Y-%m-%d''格式的好日期。 –
嗯,沒有數據,它確實很難,但'result ['LTD_'+ str(j)]。iloc [i]'或'result ['LTD_'+ str(j)]。iloc [[i]]'應該有效。 – jezrael