Python 创建日期等于+的重复行;原始日期的1天

Python 创建日期等于+的重复行;原始日期的1天,python,pandas,Python,Pandas,我的数据表如下所示: Date Name 12/1/2020 Golikeri, Dave 12/2/2020 Mewman, Tim 12/6/2020 Nang, Bob 12/9/2020 Book, Tom Date Name 12/1/2020 Golikeri, Dave 12/2/2020 Golikeri, Dave 12/2/2020 Mewman

我的数据表如下所示:

Date            Name
12/1/2020       Golikeri, Dave
12/2/2020       Mewman, Tim 
12/6/2020       Nang, Bob
12/9/2020       Book, Tom
Date            Name
12/1/2020       Golikeri, Dave
12/2/2020       Golikeri, Dave
12/2/2020       Mewman, Tim 
12/3/2020       Mewman, Tim 
12/6/2020       Nang, Bob
12/7/2020       Nang, Bob
12/9/2020       Book, Tom
12/10/2020      Book, Tom
对于数据表中的每个记录,我希望创建副本,但副本
日期将等于原始日期后的第二天。例如,新表如下所示:

Date            Name
12/1/2020       Golikeri, Dave
12/2/2020       Mewman, Tim 
12/6/2020       Nang, Bob
12/9/2020       Book, Tom
Date            Name
12/1/2020       Golikeri, Dave
12/2/2020       Golikeri, Dave
12/2/2020       Mewman, Tim 
12/3/2020       Mewman, Tim 
12/6/2020       Nang, Bob
12/7/2020       Nang, Bob
12/9/2020       Book, Tom
12/10/2020      Book, Tom

我甚至不知道从哪里开始问这个问题,但希望有人能慷慨地引导我走上正确的道路——谢谢

您可以使用
pd.concat

df['Date'] = pd.to_datetime(df['Date'])

out = (pd.concat([df, df.assign(Date=df['Date']+pd.Timedelta('1D')) ] )
         .sort_index()
      )
输出:

        Date            Name
0 2020-12-01  Golikeri, Dave
0 2020-12-02  Golikeri, Dave
1 2020-12-02     Mewman, Tim
1 2020-12-03     Mewman, Tim
2 2020-12-06       Nang, Bob
2 2020-12-07       Nang, Bob
3 2020-12-09       Book, Tom
3 2020-12-10       Book, Tom

您可以使用
pd.concat

df['Date'] = pd.to_datetime(df['Date'])

out = (pd.concat([df, df.assign(Date=df['Date']+pd.Timedelta('1D')) ] )
         .sort_index()
      )
输出:

        Date            Name
0 2020-12-01  Golikeri, Dave
0 2020-12-02  Golikeri, Dave
1 2020-12-02     Mewman, Tim
1 2020-12-03     Mewman, Tim
2 2020-12-06       Nang, Bob
2 2020-12-07       Nang, Bob
3 2020-12-09       Book, Tom
3 2020-12-10       Book, Tom

请问到目前为止你试过什么代码?你一直在,所以你应该已经知道,我们希望看到你的工作努力。谢谢分享您的工作成果。@JoeFerndz老实说,我还没有任何代码,我看到了这篇文章,但只是把自己陷入了更深的困惑中。是的,复制行,然后对于第二个值,您可以始终使用timedelta。备选,是Quang所做的。到目前为止您尝试了什么代码?你一直在,所以你应该已经知道,我们希望看到你的工作努力。谢谢分享您的工作成果。@JoeFerndz老实说,我还没有任何代码,我看到了这篇文章,但只是把自己陷入了更深的困惑中。是的,复制行,然后对于第二个值,您可以始终使用timedelta。另一种方法是Quang所做的。pd.Timedelta('1D')是一种方法。我们还可以重复df,然后用Timedelta替换重复的行@JoeFerndz当然可以,那也行。谢谢-太好了!出于我自己的学习目的,你能解释一下concat和assign命令在这段代码中是如何工作的吗?assign是sort hand for
df1=df.copy();df1['Date']=df['Date']+…
concat
只是将帧堆叠在彼此的顶部。pd.Timedelta('1D')是一种方法。我们还可以重复df,然后用Timedelta替换重复的行@JoeFerndz当然可以,那也行。谢谢-太好了!出于我自己的学习目的,你能解释一下concat和assign命令在这段代码中是如何工作的吗?assign是sort hand for
df1=df.copy();df1['Date']=df['Date']+…
concat
只是将帧堆叠在彼此的顶部。