Basic Index
公式ドキュメントはこちら
①
通常のDataframeの列指定のように df[“label”] とすることで、該当するMultiIndexのレベルの階層を取得することが出来る。
サンプル:
iterables = [["bar", "baz", "foo", "qux"], ["one", "two"]]
index = pd.MultiIndex.from_product(iterables, names=["first", "second"])
df = pd.DataFrame(np.random.randn(3, 8), index=["A", "B", "C"], columns=index)
df["bar"]
df["bar", "one"]
df["bar"]["one"]
②
スライスを用いてDataframeから抽出しても、実行パフォーマンスを保持するため、MultiIndexのレベルの状態は保持されている。
サンプル:
df.columns.levels
df[["foo","qux"]].columns.levels # sliceしているが同様の結果になる
df[["foo", "qux"]].columns.get_level_values(0) # sliceした結果からのみ、levelの内容を確認したい場合
③
同様な階層構造を持つMultiIndexの計算。(正直、イマイチ分かりづらい)
サンプル:
s = pd.Series(np.random.randn(8), index=index)
s + s[:-2] # MultiIndexのSlice
s + s[::2]
The following two tabs change content below.
千葉県在住のエンジニアです。最近はPythonやってます。