次の方法で scipy.io から読み取る pandas データフレームを作成しました (file.sav は別のマシンで作成された IDL 構造です。scipy.io は標準の python 辞書を作成します)。
from scipy import io
import pandas as p
import numpy as np
tmp=io.readsav('file.sav', python_dict = True)
df=pd.DataFrame(tmp,index=tmp['shots'].astype('int32'))
データフレームには一連の値 (file.sav から) が含まれており、インデックスとして 19999、20000、30000 などの形式の一連の整数が含まれています。これらのインデックスのサブセットを取得したいと思います。
df.loc[[19999,20000]]
何らかの理由で、フォームのエラーが発生します
raise ValueError('Cannot index with multidimensional key')
その他と最後に
ValueError: Big-endian buffer not supported on little-endian compiler
しかし、私が作業しているマシンと file.sav を作成したマシンの両方がリトルエンディアンであることを確認しました。だから、これは問題ではないと思います。