所以我的代碼的組織方式與以下類似。它創建充滿元組列:將元組的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筆記本中查看數據框時,根本看不到元組的第二個元素,而且我需要能夠看到它,甚至選擇它等。
所以最初以爲Jupyter中可能會有一些設置會使每個元組元素都進入第二行。現在認爲最好的解決方案可能是pd.MultiIndex.from_tuples(),但在解決如何使用它時遇到了很多麻煩。看看幾個例子here和here。
有誰知道如何做到這一點?應該有兩個級別的列標題,例如domestic-predator/prey和元組元素進入每個新的子列。
我儘量不要在Pandas和NumPy中使用for循環,但是這是一個很難不會出現性能問題的場合,所以如果解決方案仍然使用循環友好的方法創建數據幀。
編輯 - 這裏是所需的輸出
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'命令的列表理解。我認爲'鍵'認爲你使用的是什麼,看起來不像是需要MultiIndex的東西。 – cardamom