我正在使用pandas / 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 :(得分: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