【发布时间】:2019-10-16 23:35:42
【问题描述】:
如何在python中对行和列进行多索引?
【问题讨论】:
-
df.loc[:, 'B']另外,“我该怎么做”是什么意思?做什么?给定图像,我假设选择B的所有列。
标签: python pivot-table data-science crosstab
如何在python中对行和列进行多索引?
【问题讨论】:
df.loc[:, 'B'] 另外,“我该怎么做”是什么意思?做什么?给定图像,我假设选择 B 的所有列。
标签: python pivot-table data-science crosstab
import pandas as pd # Pandas isn't mentioned in the tags, but the image looks like a pandas dataframe.
idx = pd.MultiIndex.from_product([[f'System {s}' for s in 'ABC'], list('FM')], names=[None, 'Sex'])
cols = pd.MultiIndex.from_tuples([('A', 1), ('A', 2), ('B', 1), ('B', 2), ('B', 3), ('C', 1), ('C', 2)])
df = pd.DataFrame(data=1, columns=cols, index=idx)
>>> df
A B C
1 2 1 2 3 1 2
Sex
System A F 1 1 1 1 1 1 1
M 1 1 1 1 1 1 1
System B F 1 1 1 1 1 1 1
M 1 1 1 1 1 1 1
System C F 1 1 1 1 1 1 1
M 1 1 1 1 1 1 1
>>> df.loc[:, 'B']
1 2 3
Sex
System A F 1 1 1
M 1 1 1
System B F 1 1 1
M 1 1 1
System C F 1 1 1
M 1 1 1
或者使用 IndexSlice。
>>> df.loc[:, pd.IndexSlice['B', :]]
B
1 2 3
Sex
System A F 1 1 1
M 1 1 1
System B F 1 1 1
M 1 1 1
System C F 1 1 1
M 1 1 1
【讨论】: