0

は、私はMATLABで多次元の要素が5行が放置Matlabの多次元配列をPythonのMultiIndex Dataframeにエクスポートするには?

M=rand(5,4,3) 

は、他の一方で、顧客と4列の最後の名前は、その{年齢、体重、活動、幸福レベル}のために立つと言うと言っていると仮定します3マルチマトリックスは、数年間{1999,2003,2009}を意味します。

これをPandasのマルチインデックスデータフレームに変換しようとしています。誰かが私を助けてくれますか?

答えて

0

私はそれを行うための簡単な方法がないと思いますが、

私は、後で参照するために私の解決策を掲載します。しかし、喜んで答えを追加する人がいれば、それは大いに感謝するでしょう。しかし、簡単な解決方法がオンラインで見つからなければ、私は長いことやります。私が投稿した質問は、以前誰もそれに答えなかった。 MATLABで

が、私は寸法(:,:,i)、以下のようi=1,2,3 Excelファイルごとに作成保存されていますので

for i=1:3 
    xlswrite([num2str(i) '.xlsx'],M(:,:,i)) 
end 

、私は3つのExcelファイルがそうで1.xlsxとして保存され、持っています。

今、私はPythonで同じディレクトリにアクセスし、私は疑問に望んでいたよう

import pandas as pd 

# Import the excel file and call it xls_file 
df = pd.read_excel('You_working_directory/1.xlsx', header=None) 

# Creating Multi indexing for both columns and rows 
col_name=['age', 'weight', 'activities', 'happiness level'] 
row_name=['Rami Chehab','Aya Ghalayini','Bassel Dajani','Mohammad Saab','Huthaifa Abou Hammad'] 
arrays1 = [['Paid Individuals']*5,row_name] 
arrays2 = [['1999']*4,col_name] 
rows1 = pd.MultiIndex.from_arrays(arrays1, names=['Category', 'Names']) 
col1= pd.MultiIndex.from_arrays(arrays2, names=['Year', 'Activity']) 

df1 = pd.DataFrame(df.values, columns=col1,index= rows1) 

# Creating the multi-dimenstional variable which is year in our case 
Year=['2003','2009'] 
for ii in range(0,2): 
    df = pd.read_excel("You_working_directory" + str(ii+2)+'.xlsx', header=None) 
    arrays2 = [[Year[ii]]*4,col_name] 
    col2= pd.MultiIndex.from_arrays(arrays2, names=['Year', 'Activity']) 
    df = pd.DataFrame(df.values, columns=col2,index= rows1) 
    # Merge data from the row index 
    df1 = pd.concat([df1, df], axis=1) 

結果だった次のコードを書いた