2013-11-20 152 views
5

对于一个愚蠢的问题,我很抱歉,但我找不到任何方法轻松地完成此操作。从一个熊猫数据框中减去另一列

我在Python 2.7 2个pandas数据帧,这是由男高音索引:

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 

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

谢谢。

回答

8
rates.sub(treas.iloc[:,0],axis=0).dropna() 

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

非常感谢你。 – gt6989b

相关问题