最佳答案
考虑以下 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
这基本上是一个分为四个类别的交叉表。在行中,它有性别
和婚姻状况
,在列中有心脏病
和高血压
。
它有四行四列。第一行的标签是(Female, Single)
。 Wes 在本书中使用axis label
作为特定行或列的名称。对于行和列,pandas 使用与 numpy 相同的术语,行变为 axis=0
,列变为 axis=1
。
一个轴可能有不同的级别。在示例 DataFrame 中,行或第 0 轴有两个级别:Sex
和 Marital Status
。对于 axis=1
,级别为 Heart Disease
和 High Blood Pressure
。您也可以分别称它们为索引名称
和列名称
。
关于Pandas 索引名称、轴标签和级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899612/