したがって、私のコードは次のように構成されています。これは、タプルを充填したカラム作成:この例のようにタプルのpandas列をMultiIndexに変換する
import pandas as pd
d = []
d.append({'wilderness':('bear','salmon'), 'domestic':('cat','mouse'), 'farm':('wolf','sheep')})
d.append({'wilderness':('polar bear','seal'), 'domestic':('spider','fly'), 'farm':('cow','grass')})
pd.DataFrame(d)
を、各タプルの要素はここで、捕食者と獲物に関連しています。私は本当にこれらのタプルを無関係の別々の列に分割したくないので、ペア間の密接な関係を何とか構造内にとどめておきたい。
問題は、私の例の各文字列はここの動物名よりもかなり長く、Jupyterのノートブックでデータフレームを見ると、タプルの2番目の要素は全く見えません。それを見ることができ、それを選択することさえできます。
Jupyterでは、最初に、各タプル要素を2番目の行に移動させる設定があると考えられます。今、最高の解決策はおそらくpd.MultiIndex.from_tuples()であると思うが、それをどのように使いこなすのに問題が多いのか。いくつかの例を参照してくださいhereとhere。
誰でもこれを行う方法を知っていますか?列見出しには2つのレベルがあります(例:domestic-predator /獲物)。タプル要素はそれぞれ新しいサブカラムに入ります。
私はPandasとNumPyでループを使用しないようにしていますが、これは難しくパフォーマンスは問題ではないため、解決策がこのループの友好的なデータフレーム。
編集 - ここで所望の出力が
domestic farm wilderness
predator prey predator prey predator prey
0 cat mouse wolf sheep bear salmon
1 spider fly cow grass polar bear seal
おかげで、それが動作します!どのように正確に勉強しています。 'df.values.T.tolist()'を見てきました。これは 'pd.DataFrame'コマンドで使用されたリストの理解度を初めて見たことがあります。私は 'keys'はあなたが使ったと思っていると思いますが、結局MultiIndexが必要なようには見えません。 – cardamom