Pandas 在pivot_表中设置为索引的多级列
我有一个带有多列标题的数据帧(df):Pandas 在pivot_表中设置为索引的多级列,pandas,pivot-table,Pandas,Pivot Table,我有一个带有多列标题的数据帧(df): 我想计算每种类型的平均数量。最终格式应如下所示: City State Type1 Type2 New York NY avg of(355+189+115) avg of (234+178+422) ....... 有人能给我一个提示吗? 非常感谢。 Kath我认为您可以在具有聚合的列中使用第一级的多索引: 但也许之前是必要的: 我认为您可以在具有聚合的列中使用第一级的Multindex: 但
我想计算每种类型的平均数量。最终格式应如下所示:
City State Type1 Type2
New York NY avg of(355+189+115) avg of (234+178+422)
.......
有人能给我一个提示吗?
非常感谢。
Kath我认为您可以在具有聚合的列中使用第一级的多索引
:
但也许之前是必要的:
我认为您可以在具有聚合的列中使用第一级的Multindex
:
但也许之前是必要的:
什么是样本数据的
df.index
和df.columns
?什么是样本数据的df.index
和df.columns
?
City State Type1 Type2
New York NY avg of(355+189+115) avg of (234+178+422)
.......
print (df.index)
MultiIndex(levels=[[0, 1, 2, 3, 4],
['Chicago', 'Los Angeles', 'New York', 'Philadelphia', 'Phoenix'],
['AZ', 'CA', 'IL', 'NY', 'PA']],
labels=[[0, 1, 2, 3, 4], [2, 1, 0, 3, 4], [3, 1, 2, 4, 0]])
print (df.columns)
MultiIndex(levels=[['Type1', 'Type2'],
['Year1', 'Year2', 'Year3', 'Year4', 'Year5', 'Year6']],
labels=[[0, 0, 0, 1, 1, 1], [0, 1, 2, 3, 4, 5]],
names=['YearQ', 'index'])
df = df.groupby(axis=1, level=0).sum()
print (df)
YearQ Type1 Type2
0 New York NY 659 834
1 Los Angeles CA 605 610
2 Chicago IL 1871 911
3 Philadelphia PA 881 1119
4 Phoenix AZ 616 892
print (df.index)
Int64Index([0, 1, 2, 3, 4], dtype='int64')
print (df.columns)
MultiIndex(levels=[['Type1', 'Type2', 'YearC', 'YearS'],
['City', 'State', 'Year1', 'Year2', 'Year3', 'Year4', 'Year5', 'Year6']],
labels=[[2, 3, 0, 0, 0, 1, 1, 1], [0, 1, 2, 3, 4, 5, 6, 7]],
names=['YearQ', 'index'])
df = df.set_index([('YearC','City'), ('YearS','State')])
df = df.groupby(axis=1, level=0).sum()
print (df)
YearQ Type1 Type2
(YearC, City) (YearS, State)
New York NY 659 834
Los Angeles CA 605 610
Chicago IL 1871 911
Philadelphia PA 881 1119
Phoenix AZ 616 892