1
問題があり、意味をなさない。MultiIndexスライシングが期待通りに機能しない(lexsortedタプルに関連するエラー)
>>> print(test1)
value TIME \
star 0 1 2 3 4
0 1952.205873 1952.205873 1952.205873 1952.205873 1952.205873
1 1952.226307 1952.226307 1952.226307 1952.226307 1952.226307
2 1952.246740 1952.246740 1952.246740 1952.246740 1952.246740
3 1952.267174 1952.267174 1952.267174 1952.267174 1952.267174
value CNTS \
star 5 0 1 2
0 1952.205873 575311.432228 534103.079080 179471.239561
1 1952.226307 571480.854183 533138.021051 187456.451900
2 1952.246740 555631.798095 530263.846685 203247.734806
3 1952.267174 553639.056784 527058.335157 210088.229427
value
star 3 4 5
0 121884.201457 39003.397835 2089.321993
1 122796.312201 39552.401359 2810.010142
2 123500.068304 39158.050385 2652.409086
3 124357.387418 38881.565235 2721.908129
と私はそれの上にスライスインデックスを実行したい:私は、私は簡単に(test1
と呼ばれる)の例では、それを示すことができたように、私はサイズが小さく、大きなpd.DataFrame
を持っています。しかし、それは動作していないようです。
test.loc[:,(slice(None),0)]
と私はこのエラーを取得する:ここで私がしようとしているもの
*** KeyError: 'MultiIndex Slicing requires the index to be fully lexsorted tuple len (2), lexsort depth (0)'
これは私がこのエラーを持っていたかの質問をしたのは初めてではありませんが、私はまだありませんそれを修正する方法と何が間違っているかを理解する。
さらに混乱、次のコードは問題なく動作するように思われることである:
import pandas as pd
import numpy as np
column_values = ['TIME', 'XPOS']
target = range(0,2)
mindex = pd.MultiIndex.from_product([column_values, target], names=['value', 'target'])
df = pd.DataFrame(columns=mindex, index=range(10), dtype=float)
print(df.loc[:,(slice(None),0)])
私は何が起こっているか理解し、どのようなここで間違っていません。