DataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型。DataFrame既有行索引也有列索引。
本篇主要介绍DataFrame的构造和索引。
构造:
- 二维结构
- 一维结构的字典
- 字典的字典
索引:
-
直接索引
-
单个label索引(列)
-
label序列索引(列)
-
label(integer)切片索引(行)
-
布尔索引(行)
-
-
label索引(DataFrama.loc())
-
单个索引&切片索引&布尔索引&序列索引,混合索引
-
-
integer索引(DataFrame.iloc())
-
单个索引&切片索引&布尔索引&序列索引,混合索引
-
1. DataFrame的构造
1.1 由二维数组构造(可传入行标和列标)
1.2 由一维结构组成的字典构造
由数组、列表、元组组成的字典(三者均无索引)
1.3 由Series组成的字典
Note:由字典组成的字典构造,内层的键会作为行索引(合并),外层的键作为列索引
2、DataFrame的索引
2.1 直接对DataFrame进行索引(不指明是行索引还是列索引)
-
单独索引:1、对 列进行索引;2、必须用列名而非整数
-
切片索引:1、对 行进行索引;2、可使用整数切片,也可使用行索引切片(前者左闭右开,后者左闭又闭)
-
布尔索引:1、对 行进行索引;2、布尔数组长度需与DataFrame行数保持一致
-
序列索引:1、对 列进行索引;2、必须用列名而非整数
2.2 DataFrame.loc
单纯行索引
混合索引
- 单个索引&(单个索引/切片索引/布尔索引/序列索引)
- 切片索引&(单个索引/切片索引/布尔索引/序列索引)
- 布尔索引&(单个索引/切片索引/布尔索引/序列索引)
- 序列索引&(单个索引/切片索引/布尔索引/序列索引)
2.3 DataFrame.iloc
单纯行索引
混合索引(同ndarray混合索引,第一个位置代表行,第二个位置代表列)
-
Note:与ndarray不同的是,序列混合索引的结果呈网格型,而非序列对检索的结果
-
2.4 其他索引方式