2017-04-10 6 views
1

Ich versuche, diesePandas Datenrahmen mit multindex auszuzeichnen

enter image description here

zu bekommen, aber ich bin immer dies:

enter image description here

Auch ohne Inhalt, ich bin immer ein vertikaler Multindex. Dies ist ein MWE von dem, was ich tue

from pandas import DataFrame, MultiIndex, ExcelWriter, Series 
import numpy.random as rd 

FILENAME = 'SampleFile.xlsx' 
writer = ExcelWriter(FILENAME, engine='xlsxwriter') 
multindex_headers = [['A', 'B', 'C', 'D'], 
        ['A1', 'B2','C3', 'D4']] 

index = MultiIndex.from_tuples(list(zip(*multindex_headers)), names=['l1','l2']) 
sampleDF = DataFrame(index=index) 
sample_info = [rd.randn(4).tolist()]*5 

for sample_data in sample_info: 
    sampleDF = sampleDF.append(DataFrame(sample_data, index=index)) 

sampleDF.to_excel(writer, sheet_name='case') 
writer.save() 

EDIT:

ich eine Abhilfe mit transponiert implementiert habe(), aber ich würde gerne wissen, ob es ein formaler Ansatz dazu ist Frage:

from pandas import DataFrame, MultiIndex, ExcelWriter, Series 
import numpy.random as rd 

FILENAME = 'SampleFile.xlsx' 
writer = ExcelWriter(FILENAME, engine='xlsxwriter') 
multindex_headers = [['A', 'B', 'C', 'D'], 
        ['A1', 'B2','C3', 'D4']] 

index = MultiIndex.from_tuples(list(zip(*multindex_headers))) 
sampleDF = DataFrame(index=index) 
sampleDF = sampleDF.transpose() 
sample_info = [rd.randn(4).tolist()]*5 

for sample_data in sample_info: 
    sampleDF = sampleDF.append(DataFrame(sample_data, index=index).transpose()) 

#sampleDF.to_csv('samplecsv.csv') 
sampleDF.to_excel(writer, sheet_name='case') 
writer.save() 
+1

Bitte schauen Sie wieder an der DATAf rame. Das sehe ich. http://imgur.com/vjZYYp9 – atkawa7

Antwort

0
from pandas import DataFrame, MultiIndex, ExcelWriter, Series 
import numpy.random as rd 

FILENAME = 'SampleFile.xlsx' 
writer = ExcelWriter(FILENAME, engine='xlsxwriter') 
multindex_headers = [['A', 'B', 'C', 'D'], 
        ['A1', 'B2','C3', 'D4']] 

index = MultiIndex.from_tuples(list(zip(*multindex_headers))) 
sampleDF = DataFrame(index=index) 
sampleDF = sampleDF.transpose() 
sample_info = [rd.randn(4).tolist()]*5 

for sample_data in sample_info: 
    sampleDF = sampleDF.append(DataFrame(sample_data, index=index).transpose()) 

#sampleDF.to_csv('samplecsv.csv') 
sampleDF.to_excel(writer, sheet_name='case') 
writer.save() 

von meinem bearbeiten Genommen