【发布时间】:2016-08-02 01:27:12
【问题描述】:
我正在尝试以特定方式遍历一组表,但我被卡住了。
我的表是多索引的,看起来像这样:
#read excel
df = pd.read_excel(data_file,
header=[0,1],
index_col=[0,1])
T Gender Age
Total Male Female 16-24 25-34 35-44 45-54 55-75
Q1. Are you? Yes 17.5 26.8 23.4 13.7 20.7 100 - 17.6
No 17.5 26.8 23.4 13.7 20.7 100 11.5 22.6
Don’t know 17.5 26.8 23.4 13.7 20.7 100 - -
Q2. Are you? Yes 18.5 26.8 23.4 13.7 20.7 100 - 17.6
No 17.5 22.8 23.4 13.7 20.7 100 11.5 22.6
Don’t know 17.5 26.8 23.4 13.7 20.7 100 - -
我想遍历这些索引和列并打印:
T
Total
Q1. Are you? Yes 17.5
No 17.5
Don’t know 17.5
Gender
Male Female
Q1. Are you? Yes 26.8 23.4
No 26.8 23.4
Don’t know 26.8 23.4
等等……
到目前为止,我的代码将外部索引组合在一起,这使我可以向下循环,但我不知道如何横向工作..?
for outerside_grp, innerside_grp in df.groupby(level=0):
print innerside_grp
更新
下面的代码有点像我想要的(感谢 Joshua Baboo),但现在我想知道这是否是最有效的方法?
for key in df.index.levels[0]:
for col in df.columns.levels[0]:
print df.loc[row:row, col]
【问题讨论】:
标签: excel loops pandas multi-index