MultiIndex tarafından veri gruplandırması için pandalarda herhangi bir fırsat var mı? Bu, sadece anahtarlar değil, aynı zamanda veri çerçevesi sütunlarını önceden tanımlamak için de tuşlar ve değerler olmak üzere groupby işlevine geçmek demek?Pandalar groupby ve Multiindex
a = np.array(['foo', 'foo', 'foo', 'bar', 'bar', 'foo', 'foo'], dtype=object)
b = np.array(['one', 'one', 'two', 'one', 'two', 'two', 'two'], dtype=object)
c = np.array(['dull', 'shiny', 'dull', 'dull', 'dull', 'shiny', 'shiny'], dtype=object)
df = pd.DataFrame([a, b, c]).T
df.columns = ['a', 'b', 'c']
df.groupby(['a', 'b', 'c']).apply(len)
a b c
bar one dull 1
two dull 1
foo one dull 1
shiny 1
two dull 1
shiny 2
Ama benim asıl istiyorum şudur:
mi = pd.MultiIndex(levels=[['foo', 'bar'], ['one', 'two'], ['dull', 'shiny']],
labels=[[0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0, 1, 1], [0, 1, 0, 1, 0, 1, 0, 1]])
#pseudocode
df.groupby(['a', 'b', 'c'], multi_index = mi).apply(len)
a b c
bar one dull 1
shiny 0
two dull 1
shiny 0
foo one dull 1
shiny 1
two dull 1
shiny 2
ben GroupBy nesne üzerinde ek sargının oluşturulmasında görmek yolu. Ya da belki bu özellik pandalar felsefesine iyi gelir ve pandalar lib'e dahil olabilir mi?
ne dahil edilebilir belki bir anahtar kelime '' dropna = False'' (True hangi normalde varsayılan) (burada ne var olan) bir mil için tüm kombinasyonları dahil etmek .... bu olduğunu düşünüyorum Bu aynı özelliğe sahip olan 0.11.1: http://pandas.pydata.org/pandas-docs/dev/groupby.html#filtration'da sunduğumuz yeni bir özelliğe benzer ... – Jeff
thx, harika! İlk sorum, crosstab işleviyle ilgiliydi - bu yüzden siz de http://stackoverflow.com/questions/17003034/missing-data-in-pandas-crosstab. – norecces
@Andy Hayden idi .... ama np – Jeff