簡體   English   中英

當索引是日期時間時,如何相互減去兩個pandas日期時間系列DataFrame?

[英]How do I subtract two pandas datetime series DataFrames from each other when the index is a datetime?

我試圖相互減去兩個pandas日期時間序列DataFrames的值,其中兩個DataFrames的索引是一個日期時間值。

有問題的兩個DataFrame具有相同數量的列。 我想從第一個DataFrame中列的值中減去第二個DataFrame中列中的值,以使用第二個DataFrame中表示的列的新減去值創建新的DataFrame。

這是我的數據:

import pandas as pd
import numpy as np
import statsmodels.api as sm

In[]: y
Out[]:            price
        Date
     2010-08-29   .0648
     2010-08-30   .0751
               ...
    2897 rows × 1 columns

In[]: type(y)
Out[]: pandas.core.frame.DataFrame

這些是我想從上面的y值中減去的值:

In[]: test = pd.DataFrame(est.predict(X))
      test
Out[]:                     0

         2010-08-29    -5.851237
         2010-08-30    -6.835347
         2010-08-31    -9.949124
                   ...
          2897 rows × 1 columns

當我對上面的數據嘗試pd.sub()操作時,我返回了一個充滿NaN值的DataFrame,如下所示:

In[]: vals = y.sub(test)
      vals 
Out[]:                price    0    
           Date
        2010-08-29     NaN    NaN
        2010-08-30     NaN    NaN
                   ...
         2897 rows × 2 columns

如何從兩列中減去值以獲得輸出,如下面的輸出?

1      1.544535
2     -1.945362
3     -3.037018
4      0.882884
    ...
Name: newFrame, Length: 200, dtype: float64

如果列具有相同的名稱,則在兩個數據幀之間使用sub將起作用,因此,例如,通過以下方式創建數據幀test

test = pd.DataFrame(est.predict(X),columns=['price'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM