【问题标题】:How to repeat a dataframe - python如何重复数据框 - python
【发布时间】:2018-09-18 16:45:22
【问题描述】:

我有一个简单的 csv 数据框如下:

Date,Data
2000-01-31,9
2000-02-28,8
2000-03-31,7
2000-04-30,6
2000-05-31,5
2000-06-30,4
2000-07-31,3
2000-08-31,2
2000-09-30,1
2000-10-31,0
2000-11-30,11
2000-12-31,12

我想在 10 年内重复这个数据框,并相应地更改年戳,如下所示:

Date,Data
2000-01-31,9
2000-02-28,8
2000-03-31,7
2000-04-30,6
2000-05-31,5
2000-06-30,4
2000-07-31,3
2000-08-31,2
2000-09-30,1
2000-10-31,0
2000-11-30,11
2000-12-31,12
2001-01-31,9
2001-02-28,8
2001-03-31,7
2001-04-30,6
2001-05-31,5
2001-06-30,4
2001-07-31,3
2001-08-31,2
2001-09-30,1
2001-10-31,0
2001-11-30,11
2001-12-31,12
....

我该怎么做?

【问题讨论】:

    标签: pandas dataframe


    【解决方案1】:

    你可以使用concat

    n=2
    Newdf=pd.concat([df]*n,keys=range(n))
    Newdf.Date+=pd.to_timedelta(Newdf.index.get_level_values(level=0),'Y')
    Newdf.reset_index(level=0,drop=True, inplace=true)
    

    【讨论】:

      【解决方案2】:

      试试:

      df1 = pd.concat([df] * 10)
      date_fix =  pd.date_range(start='2000-01-31', freq='M', periods=len(df1))
      df1['Date'] = date_fix
      df1
      

      [出]

          Date    Data
      0   2000-01-31  9
      1   2000-02-29  8
      2   2000-03-31  7
      3   2000-04-30  6
      4   2000-05-31  5
      5   2000-06-30  4
      6   2000-07-31  3
      ... ... ...
      5   2009-06-30  4
      6   2009-07-31  3
      7   2009-08-31  2
      8   2009-09-30  1
      9   2009-10-31  0
      10  2009-11-30  11
      11  2009-12-31  12
      

      【讨论】:

        猜你喜欢
        • 2022-11-15
        • 2021-10-15
        • 2021-12-22
        • 1970-01-01
        • 2015-04-22
        • 2019-05-12
        • 2020-03-30
        • 1970-01-01
        • 2018-03-10
        相关资源
        最近更新 更多