2014-04-01 170 views
1

我正在使用熊貓/ Python解決一些模型。但是,當選擇數據時,我會得到一些非常奇怪的結果我懷疑我不瞭解一些非常基本的東西。Python大熊貓:切片/索引混淆

DataFrame的索引是熊貓季度時間序列。

問題是,當我寫:

data.SI_PER 

我得到正確的系列:

2014Q1 116.832000 
2014Q2 111.728001 
2014Q3 106.976102 
2014Q4 102.366623 
2015Q1  97.849300 
2015Q2  93.719593 
2015Q3  89.766363 
2015Q4  86.037304 

data.SI_PER['2014Q1'] 

116.83200000000002

但是,當我寫:

data.loc['2014Q1','SI_PER'] 

我得到

0.0 

在我的理解中,輸出應該是相同的,所以顯然我誤解的東西。

編輯:

data.info() 
<class 'pandas.core.frame.DataFrame'> 
PeriodIndex: 144 entries, 1980Q1 to 2015Q4 
Columns: 2948 entries, YEAR to FIHERHVERV_NON_CRDIV_SUP 
dtypes: float64(2946), int64(2)>>> 
+0

PLS後''data.info()'' – Jeff

回答

2

這是0.13.1,工程確定

In [16]: df = DataFrame(np.random.randn(10,2),index=period_range('2013',periods=10, freq='Q-JAN'),columns=['A','B']) 

In [17]: df 
Out[17]: 
       A   B 
2013Q4 -0.905673 2.670701 
2014Q1 -0.465485 -1.849802 
2014Q2 -0.526230 -1.265586 
2014Q3 -0.515863 -0.464663 
2014Q4 -0.791347 -0.888892 
2015Q1 -0.152992 0.004867 
2015Q2 -0.349412 -2.581611 
2015Q3 1.367116 -1.583860 
2015Q4 0.837310 0.631884 
2016Q1 -0.558182 0.408349 

[10 rows x 2 columns] 

In [18]: df.A['2014Q1'] 
Out[18]: -0.46548521567154932 

In [19]: df.loc['2014Q1','A'] 
Out[19]: -0.46548521567154932 
+0

感謝。所以我沒有錯,它的數據應該是相同的。有什麼可以混淆使用祿?在我的電腦上工作,以及順便說一句。 – user2866103

+0

什麼numpy/pandas版本? – Jeff

+0

NumPy 1.7.1,SciPy 0.12.0,Matplotlib 1.3.0,>>> pd.version.version '0.12.0' – user2866103