首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当索引是datetime时,如何从两个pandas datetime序列DataFrames中减去彼此?

当索引是datetime时,如何从两个pandas datetime序列DataFrames中减去彼此?
EN

Stack Overflow用户
提问于 2018-08-05 02:40:58
回答 1查看 750关注 0票数 3

我尝试将两个DataFrames的索引都是DateTime值的两个pandas datetime序列DataFrames的值相减。

有问题的两个DataFrames具有相同数量的列。我想要从第一个DataFrame中的列的值中减去第二个DataFrame中的列中的值,以使用第二个DataFrame中表示的列的新减去的值创建一个新的DataFrame。

下面是我的数据:

代码语言:javascript
复制
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值中减去的值:

代码语言:javascript
复制
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,如下所示:

代码语言:javascript
复制
In[]: vals = y.sub(test)
      vals 
Out[]:                price    0    
           Date
        2010-08-29     NaN    NaN
        2010-08-30     NaN    NaN
                   ...
         2897 rows × 2 columns

如何从这两列中减去这些值才能得到如下输出?

代码语言:javascript
复制
1      1.544535
2     -1.945362
3     -3.037018
4      0.882884
    ...
Name: newFrame, Length: 200, dtype: float64
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-05 02:58:30

如果列具有相同的名称,则可以在两个数据帧之间使用sub,例如,通过以下方式创建数据帧test

代码语言:javascript
复制
test = pd.DataFrame(est.predict(X),columns=['price'])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51688576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档