首页 > 解决方案 > 将重复日期列添加到 pandas DataFrame

问题描述

我是 pandas 的新手,我正在努力将日期添加到来自 .csv 文件的 pandas dataFrame df 中。我有一个带有几个唯一 id 的数据框,每个 id 有 120 个月,我需要添加一个列日期。每个 id 应该有 120 个周期的完全相同的日期。我正在努力添加它们,因为在第一个 id 之后还有另一个 id 并且日期应该重新开始。我在 csv 文件中的数据如下所示:

month       id   
  1         1593
  2         1593
 ...
 120        1593
  1         8964
  2         8964
 ...
 120        8964
 1          58944
 ...

这是我的代码,我不确定如何使用 groupby 方法根据 id 为我的数据框添加日期:

group=df.groupby('id')
group['date']=pd.date_range(start='2020/6/1', periods=120, freq='MS').shift(14,freq='D')

请帮我!!!

标签: pythonpandas

解决方案


如果你知道你有多少组 120,你可以使用这个。把最后的2改一下就行了。此示例创建了两次重复的 120 个日期。您可能必须适应您的特定用途。

new_dates = list(pd.date_range(start='2020/6/1', periods=120, freq='MS').shift(14,freq='D'))*2

df = pd.DataFrame({'date': new_dates})

推荐阅读