【问题标题】:Subtract a column from one pandas dataframe from another从另一个熊猫数据框中减去一列
【发布时间】:2013-12-04 17:27:45
【问题描述】:

对于一个愚蠢的问题,我很抱歉,但我找不到任何方法可以轻松做到这一点。

我在 Python 2.7 中有两个 pandas 数据帧,它们是按 Tenor 索引的:

In [136]: rates
Out[136]:
          A      A-    BBB+     BBB    BBB-      BB
3M   0.3150  0.3530  0.4960  0.6460  0.7910  1.9070
6M   0.3070  0.3560  0.5330  0.6740  0.8740  1.9170
1Y   0.3810  0.4470  0.6380  0.8970  1.1220  1.9900
2Y   0.7040  0.8690  1.0080  1.3510  1.6150  2.3230
3Y   1.0650  1.2870  1.4350  1.7950  2.0960  2.7590
4Y   1.5980  1.7920  1.9540  2.2660  2.6600  3.5890
5Y   2.0890  2.2660  2.4390  2.7890  3.2200  4.3280
7Y   2.9760  3.2010  3.2500  3.7600  4.3790  5.1970
8Y   3.3410  3.5410  3.5920  4.1270  4.7610  5.5170
9Y   3.5870  3.7400  3.9180  4.4630  4.9830  5.7710
10Y  3.7970  3.9410  4.1980  4.6440  5.1170  5.9630
15Y  4.6750  4.7290  5.3450  5.3440  5.3760  7.0900
20Y  5.3580  5.3760  5.5020  5.5850  5.5610  8.1920
25Y  5.2545  5.4055  5.4345  5.5435  5.5375  7.9935
30Y  5.1510  5.4350  5.3670  5.5020  5.5140  7.7950

In [137]: treas
Out[137]:
     2013-09-20 12:01:00
1M                 0.008
3M                 0.013
6M                 0.043
1Y                 0.104
2Y                 0.332
3Y                 0.688
5Y                 1.478
7Y                 2.109
10Y                2.735
30Y                3.762

我想从存在数据的公共索引中的rates 中的每一列中减去treas,然后丢弃其余的行。我该怎么做? rates - treas 以及 rates.sub(treas)rates.rsub(treas) 都产生 NaN 数据帧?

谢谢。

【问题讨论】:

    标签: python python-2.7 pandas dataframe subtraction


    【解决方案1】:
    rates.sub(treas.iloc[:,0],axis=0).dropna()
    

    rates.sub(treas.squeeze(),axis=0).dropna()
    

    【讨论】:

      猜你喜欢
      • 2014-06-10
      • 2019-08-07
      • 2020-12-30
      • 2017-09-01
      • 2017-02-20
      • 1970-01-01
      • 2014-12-28
      • 2023-01-25
      • 2013-12-10
      相关资源
      最近更新 更多