我正在使用pandas中的multiindexing數據框,並且想知道我是否應該多行索引行或列。多重索引行與大熊貓的列DataFrame
我的數據看起來是這樣的:
代碼:
import numpy as np
import pandas as pd
arrays = pd.tools.util.cartesian_product([['condition1', 'condition2'],
['patient1', 'patient2'],
['measure1', 'measure2', 'measure3']])
colidxs = pd.MultiIndex.from_arrays(arrays,
names=['condition', 'patient', 'measure'])
rowidxs = pd.Index([0,1,2,3], name='time')
data = pd.DataFrame(np.random.randn(len(rowidxs), len(colidxs)),
index=rowidxs, columns=colidxs)
在這裏,我選擇多指標列,與大熊貓數據幀由一系列的理由,我的數據最終是一串時間序列(因此在這裏按時間索引)。
我有這個問題,因爲它似乎有行和列之間的一些不對稱multiindexing。例如,在this文檔網頁中,它顯示query
如何工作於行多索引數據幀,但是如果數據幀是列多索引,則文檔中的命令必須用df.T.query('color == "red"').T
之類的內容替換。
我的問題看起來可能有點愚蠢,但我想看看在數據框的多重索引行與列之間是否有區別(如上面的query
例子)。
謝謝。
這真的取決於你想如何操縱,輸出和查看你的數據。我懷疑行上的多索引更有用(可能更有效,但我真的不知道)。如果你打算操縱按列索引的數據範圍,那麼是的,多列對你來說更好。 – Will
這是一個很好的問題,因爲某些領域的數據集通常是時間序列,但可能會分成一系列類別,如示例中所示。按列分析MultiIndex會有幫助。 – Hamid