为了账号安全,请及时绑定邮箱和手机立即绑定

参考其他行向熊猫数据框添加新行?

参考其他行向熊猫数据框添加新行?

慕田峪4524236 2023-03-01 16:59:52
df:End_Dt_Id Start_Date     End_Date18AUG19   12-08-2019    18-08-2019  -- date format DD/MM/YYYY25AUG19   19-08-2019    25-08-201901SEP19   26-08-2019    01-09-201908SEP19   02-09-2019    08-09-201915SEP19   09-09-2019    15-09-201922SEP19   16-09-2019    22-09-201912SEP19   23-09-2019    29-09-2019我需要在我的数据框中再添加 4 周,这取决于我的 df 中的上周,例如上周将是这一行“29SEP19 23-09-2019 29-09-2019”,因为 max(End_Date),那里在我需要再增加四个星期之后,如输出所示。df_输出:End_Dt_Id Start_Date     End_Date18AUG19   12-08-2019    18-08-2019  -- date format DD/MM/YYYY25AUG19   19-08-2019    25-08-201901SEP19   26-08-2019    01-09-201908SEP19   02-09-2019    08-09-201915SEP19   09-09-2019    15-09-201922SEP19   16-09-2019    22-09-201929SEP19   23-09-2019    29-09-201905OCT19   30-09-2019    05-10-201912OCT19   06-10-2019    12-10-201919OCT19   13-10-2019    19-10-201926OCT19   20-10-2019    26-10-2019
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

我不确定我是否理解逻辑,但这提供了您正在寻找的输出:


last_row = df.sort_values('End_Date')[-1:]

new_rows = []

start_date = last_row['Start_Date'].iloc[0]

end_date = last_row['End_Date'].iloc[0]

for i in range(1,5):


    start_date = end_date + dt.timedelta(days=1)

    end_date = end_date + dt.timedelta(days=7)

    end_dt_id = dt.datetime.strftime(end_date, '%d%b%y').upper()

    new_rows.append([end_dt_id,start_date, end_date])

    

df = pd.concat([

    df, 

    pd.DataFrame(new_rows, columns=['End_Dt_Id', 'Start_Date', 'End_Date'])

])

for col in ['Start_Date', 'End_Date']:

    df[col] = pd.to_datetime(df[col]).dt.strftime('%d-%m-%Y')

退货:


End_Dt_Id  Start_Date    End_Date

  18AUG19  12-08-2019  18-08-2019

  25AUG19  19-08-2019  25-08-2019

  01SEP19  26-08-2019  01-09-2019

  08SEP19  02-09-2019  08-09-2019

  15SEP19  09-09-2019  15-09-2019

  22SEP19  16-09-2019  22-09-2019

  12SEP19  23-09-2019  12-09-2019

  19SEP19  13-09-2019  19-09-2019

  26SEP19  20-09-2019  26-09-2019

  03OCT19  27-09-2019  03-10-2019

  10OCT19  04-10-2019  10-10-2019


查看完整回答
反对 回复 2023-03-01
  • 1 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信