TL;DR
ʻUnstack` était utile pour rendre la série multiIndex plus facile à voir.
DataFrame des pandas aura l'index MultiIndex si vous faites «group by» dans plusieurs colonnes. Je suis un peu coincé pour le traiter, alors j'écrirai ce que j'ai fait en guise de rappel.
ici,
Je cours.
Par exemple, si vous disposez des données suivantes:
import datetime
import random
import pandas as pd
item_list = ['A', 'A', 'A', 'B', 'C','C', 'D']
data_records = []
ts = datetime.datetime.now()
for _ in range(1000):
ts += datetime.timedelta(seconds=random.randint(200, 3600))
data_records.append({
'ts': ts,
'wday': ts.weekday(),
'item': random.choice(item_list),
'qty': random.randint(1, 5)
})
df = pd.DataFrame(data_records)
Comme df
Vous devriez obtenir quelque chose comme ça.
ici,
Imaginez quelque chose comme un journal d'un site EC.
Supposons maintenant que vous souhaitiez voir le nombre total d'articles vendus chaque jour. En fait, il est normal de spécifier la période avec «ts», mais à part cela, je pense que vous ferez ce qui suit.
df.groupby(['wday', 'item']).qty.sum()
Ensuite, vous obtiendrez quelque chose comme ceci: Ce n'est pas mal, mais c'est aussi difficile à voir. Ici, si vous faites ʻunstack`,
df.groupby(['wday', 'item']).qty.sum().unstack()
est devenu.
Pour plus de détails, voir Document officiel de Pandas.
Recommended Posts