Python 根据过去2天的现有日期值添加行
我有一个数据框:Python 根据过去2天的现有日期值添加行,python,pandas,Python,Pandas,我有一个数据框: Name Date Bob 2020-05-17 Alice 2020-04-01 下面是预期的结果:对于每个名称组,我希望保留原始行,在Date中再保留两行过去2天的值 Name Date Bob 2020-05-17 Bob 2020-05-16 Bob 2020-05-15 Alice 2020-04-01 Alice 2020-03-31 Alice 2020-03-30 提前谢谢 在列
Name Date
Bob 2020-05-17
Alice 2020-04-01
下面是预期的结果:对于每个名称组,我希望保留原始行,在Date中再保留两行过去2天的值
Name Date
Bob 2020-05-17
Bob 2020-05-16
Bob 2020-05-15
Alice 2020-04-01
Alice 2020-03-31
Alice 2020-03-30
提前谢谢 在列表中使用内联日期,然后:
[外]
如果日期排序很重要,您可能需要使用其他方法,然后是:
非常感谢。这应该行得通。我唯一的问题是explode()适用于pandas版本0.25.0及更高版本。我的env有pandas 0.24.2,我不想更新它。你知道有其他方法可以使用explode()吗?嘿@MAMS,查看更多的方法来分解这个列。希望有帮助,有帮助。非常感谢你!
df = (df.assign(Date=[pd.date_range(end=e, periods=3, freq='D')
for e in df['Date']])
.explode('Date'))
Name Date
0 Bob 2020-05-15
0 Bob 2020-05-16
0 Bob 2020-05-17
1 Alice 2020-03-30
1 Alice 2020-03-31
1 Alice 2020-04-01
(df.assign(Date=[pd.date_range(end=e, periods=3, freq='D')
for e in df['Date']])
.explode('Date')
.sort_values(['Date'], ascending=False)
.sort_index())