【问题标题】:How to add new row in time series dataframe如何在时间序列数据框中添加新行
【发布时间】:2020-09-01 22:16:00
【问题描述】:

我的数据框有一个日期索引列和一列

             var
date 
2020-03-10   77
2020-03-11   88
2020-03-12   99 

我有一个数组,我想将它一个一个地附加到数据帧中。我尝试了几种方法,但没有任何效果。 我的代码是这样的

for i in range(20):
   x=i*i
   df.append(x)

在每次迭代数据帧后需要附加 x 值。 最终输出:

             var
date 
2020-03-10   77
2020-03-11   88
2020-03-12   99 
2020-03-13   1
2020-03-14   4
2020-03-15   9
.
.
. 20 times

如有任何建议,将不胜感激。

【问题讨论】:

  • 请提供示例输入和预期输出。
  • @MayankPorwal 我需要在循环中向数据框添加新的“var”值。值将通过循环中的某些计算生成,并将添加到数据框中。我已经编辑了问题

标签: python pandas python-2.7 dataframe time-series


【解决方案1】:

试试这个

tmpdf = pd.DataFrame({"var":[77,88,99]},index=pd.date_range("2020-03-10",periods=3,freq='D'))
for i in range(1,21):
    idx = tmpdf.tail(1).index[0] + pd.Timedelta(days=1)
    tmpdf.loc[idx] = i*i

输出

2020-03-10   77
2020-03-11   88
2020-03-12   99
2020-03-13    1
2020-03-14    4
2020-03-15    9
2020-03-16   16
2020-03-17   25
2020-03-18   36
2020-03-19   49
2020-03-20   64
2020-03-21   81
2020-03-22  100
2020-03-23  121
2020-03-24  144
2020-03-25  169
2020-03-26  196
2020-03-27  225
2020-03-28  256
2020-03-29  289
2020-03-30  324
2020-03-31  361
2020-04-01  400

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 2019-07-08
    • 1970-01-01
    • 2019-08-12
    • 2021-04-01
    • 2018-03-02
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    相关资源
    最近更新 更多