[英]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.