2013-11-20 17 views
5

मुझे एक बेवकूफ सवाल के लिए खेद है, लेकिन मुझे इसे आसानी से करने का कोई तरीका नहीं मिल रहा है।एक पांडस डेटाफ्रेम से एक कॉलम घटाएं

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 घटाना चाहते हैं:

मैं अजगर 2.7 में दो pandas डेटा फ्रेम, जो तत्त्व द्वारा अनुक्रमित रहे हैं सूचकांक जहां डेटा मौजूद है, और बाकी पंक्तियों को फेंक दें। मुझे यह कैसे करना है? 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

संबंधित मुद्दे