2016-04-01 31 views
0

Birkaç gün önce (pivot_table kullanılarak oluşturulan) bakar pandas bir multiindexdataframe: Gruplama seviyeleri - piton pandalar içinde multiindex

enter image description here

I (aşağıda veya) üstünde bir düzey eklemek için yardıma ihtiyacım Tarihi Ben böyle bir tarihin gün alabilirsiniz biliyorum

enter image description here

: böyle tarihten gününü gösteren seviye

İşte
lt.DATE.dt.strftime('%a') 
#lt is a dataframe and DATE is a column it. 

benzer pivot_table reporduce kodudur:

import pandas as pd 
import numpy as np 

dlist = pd.date_range('2015-01-01',periods=5) 
df = pd.DataFrame(dlist, columns=['DATE']) 
df['EC'] = range(7033,7033+len(df)) 
df['HS'] = np.random.randint(0,9,5) 
df['AH'] = np.random.randint(0,9,5) 
pv = pd.pivot_table(df, columns=[df.DATE, 'EC'], values=['HS','AH']) 
pv = pv.unstack(level=1).unstack(level=0) 
+0

Sorunuzu yeniden oluşturmak için lütfen gerçek kodu gönderin. –

+0

Benzer bir pivot_table üretmek için örnek kod eklendi :) – Abbas

+0

@FabioLamanna Kod sorduğunuz için teşekkür ederiz, bu da bana örnek bir kod oluşturmamı ve çözümü almamı sağladı! – Abbas

cevap

0

bir çözümüm var!

import pandas as pd 
import numpy as np 

dlist = pd.date_range('2015-01-01',periods=5) 
df = pd.DataFrame(dlist, columns=['DATE']) 
df['EC'] = range(7033,7033+len(df)) 
df['HS'] = np.random.randint(0,9,5) 
df['AH'] = np.random.randint(0,9,5) 
df['DAY'] = df.DATE.dt.strftime('%a') 
pv = pd.pivot_table(df, columns=[df.DATE.dt.date, df.DAY, 'EC'], values=['HS','AH']) 
pv = pv.unstack(level=[1,2]).unstack(level=0) 
pv.to_excel('solution.xlsx') 

Ve böyle bir çıktı üretir: Burada gider

enter image description here

dikkat edin fonksiyonu unstack ve bir seferde unstacked gerekmektedir düzeylerinin listesini ayarlayın.