我已經通過其他數據框創建具有多指標一個數據幀:排序大熊貓多指標
arrays = [df['bus_uid'], df['bus_type'], df['type'],
df['obj_uid'], df['datetime']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['bus_uid', 'bus_type', 'type',
'obj_uid', 'datetime'])
multindex_df = pd.DataFrame(df['val'].values, index=index)
如文檔http://pandas.pydata.org/pandas-docs/stable/advanced.html描述這工作得很好。
在本文檔中也說,標籤需要在「有必要與多指標有序性」,以進行分類索引和切片功能的正確工作。
但不知何故
multindexed_df.sort_index(level=0)
或
multindexed_df.sort_index(level='bus_uid')
不工作了,並拋出類型錯誤:sort_index()得到了一個意想不到的關鍵字參數 '級別'。
上sort_index()尋找對象的信息看起來「通過」的是我的新朋友,而不是「水平」的:
by:object
Column name(s) in frame. Accepts a column name or a list for a nested sort. A tuple will be interpreted as the levels of a multi-index.
我的問題是:我如何可以排序我的多指標所有的功能(切片等)都能正常工作?
我的錯!我正在研究版本0.16.2,現在更新到0.17.1。那麼只要應用* multindex_df.sort_index(inplace = True)*就足以獲得所有功能了? 謝謝!從有序索引 –
切片現在彈出一個錯誤:1. 「IDX = pd.IndexSlice」 2「的子集= multindex_df.loc [IDX [[ 'EL:DE22C'],[ 'EL'],[ '輸入' ]:,:]]「帶來的‘’KeyError異常:‘多指標分層要求該指數是完全lexsorted元組LEN(5),lexsort深度(0)’」 –
我再一次錯,我忘了排序重建後的指數; )非常感謝你! –