私はdask(ddとしてインポート)し、いくつかのパンダ(pdとしてインポートされた)コードを変換しようとしています。dask(列挙型のpandasから)の列の副選択を計算ブール値インデクサ
次の行の目的は、データをこれらの列にスライスすることです。この値は、daskで計算された要件を満たした値です。
csvには特定のテーブルがあります。前者のコードは、
inputdata=pd.read_csv("inputfile.csv");
pseudoa=inputdata.quantile([.035,.965])
pseudob=pseudoa.diff().loc[.965]
inputdata=inputdata.loc[:,inputdata.columns[pseudob.values>0]]
inputdata.describe()
となり、正常に動作しています。 変換のための私のシンプルなアイデアはとても
inputdata=dd.read_csv("inputfile.csv");
に最初の行を置き換えましたが、それは奇妙なエラーメッセージIndexError: too many indices for array
になりました。 inputdata
とpseudob
のレディ・コンピューティング・データに切り替えても、エラーが残ります。
質問は、特に、dask-columnsの計算されたブールスライシングの考え方に割り当てられています。
私はちょうどそれを行う(解決策ではない)方法(おそらく最適以下)を発見しました。 4行目を次のように変更する
inputdata=inputdata.loc[:,inputdata.columns[(pseudob.values>0).compute()[0]]]
と思われます。