2
考慮大熊貓數據幀不一致的行爲
df = DataFrame({'somedata': [13,24,54]}, index=[1,1,2])
somedata
1 13
1 24
2 54
執行
df.ix[1, 'somedata']
將返回一個對象
1 13
1 24
Name: somedata, dtype: int64
其具有索引:
df.ix[1, 'somedata'].index
Int64Index([1, 1], dtype='int64')
但是,在執行
df.ix[2, 'somedata']
將返回只是排名第54位,其中有沒有索引:
df.ix[2, 'somedata'].index
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-274-3c6e4b1e6441> in <module>()
----> 1 df.ix[2, 'somedata'].index
AttributeError: 'numpy.int64' object has no attribute 'index'
我不明白這一點(貌似?)不一致的行爲。這是故意的嗎?我希望從同一個操作返回的對象具有相同的結構。此外,我需要圍繞這個問題構建我的代碼,所以我的問題是,如何檢測ix選擇返回哪種對象?目前我正在檢查返回的對象的len。我不知道是否有一個更優雅的方式,或者如果可以強制,而不是隻返回54號的選擇,返回類似的形式
2 54
Name: somedata, dtype: int64
很抱歉,如果這是一個愚蠢的問題,我無法找到這是任何地方的答案。
你可能想擴大的原因你得到一個與1和2的標量系列;喵,因爲索引有重複 – Jeff 2014-09-30 22:01:46