Python for Data Analysis(2e,219)说:
但不幸的是,我很困惑。所以:
答案 0 :(得分:1)
考虑以下DataFrame。
colidx = pd.MultiIndex.from_product([('Yes', 'No'), ('Yes', 'No')],
names=['Heart Disease', 'High Blood Pressure'])
rowidx = pd.MultiIndex.from_product([('Female', 'Male'), ('Single', 'Married')],
names=['Sex', 'Marital Status'])
df = pd.DataFrame(np.random.randint(10, size=(4, 4), index=rowidx, columns=colidx))
Heart Disease Yes No High Blood Pressure Yes No Yes No Sex Marital Status Female Single 5 0 3 3 Married 7 9 3 5 Male Single 2 4 7 6 Married 8 8 1 6
这基本上是按四个类别细分的交叉表。在行中,它有Sex
和Marital Status
,在列中有Heart Disease
和High Blood Pressure
。
它有四行四列。第一行的标签是(Female, Single)
。 Wes使用axis label
作为本书中特定行或列的名称。对于行和列,pandas使用与numpy相同的术语,行变为axis=0
,列变为axis=1
。
轴可能具有不同的级别。在示例DataFrame中,行或第0轴有两个级别:Sex
和Marital Status
。对于axis=1
,级别为Heart Disease
和High Blood Pressure
。您也可以分别称他们为index names
和column names
。