1 | import numpy as np |
Series创建
- 基本知识
- 类似于一维数组的对象
- 由一组数据(各种
Numpy
数据类型)和数据标签(索引)组成 - 左边索引,右边数值;
- 不指定索引的话,自动从0开始;
- 索引也可以自定义:index=[‘a’, ‘b’, ‘c’, ‘d’]
- 通过
Python
的字典类型创建
1 | obj = pd.Series([4, 7, 8, -1]) |
1 | 0 4 |
1 | # 指定索引值 |
1 | a 1 |
1 | # 通过字典的形式创建Series数据 |
1 | city shenzhen |
Series
中值的获取
- 通过索引的方式获取
- 使用
Series
自己创建时候的索引 - 使用默认的数值索引
- 使用布尔型数组、标量乘法、应用函数等作为索引
- 使用
1 | # 通过自己创建的索引来获取数据 |
1 | a 1 |
1 | # 默认数值索引来获取数据 |
1 | a 1 |
1 | # 布尔型数组过滤掉不满足要求的数据 |
1 | b 2 |
索引操作
索引多样性
- 自建索引
- 默认的数值索引
- 通过Python的字典形式来创建索引
1 | # 上面的obj1 |
1 | a 1 |
1 | obj1['b'] |
1 | 2 |
1 | # 通过切片形式,包含末端,和Python1不同 |
1 | a 1 |
1 | obj1[["b", "a", "d"]] |
1 | b 2 |
1 | obj1[1] |
1 | 2 |
1 | obj1[1:4] |
1 | b 2 |
1 | obj1[[1, 3]] |
1 | b 2 |
1 | obj1[obj1 > 2] |
1 | c 3 |
索引缺失值处理
- 缺失值用
NaN
表示 isnull
和notnull
检测缺失值
1 | # 上面的obj2 |
1 | city shenzhen |
1 | # sex对应的值找不到,用NaN表示 |
1 | sex NaN |
1 | pd.isnull(obj3) |
1 | sex True |
1 | # Series的实例方法isnull和notnull |
1 | sex True |
Series
对象的name
属性
S
数据本身和索引都有name
属性- 能够直接指定
name
属性的值
1 | # S的name属性 |
1 | information |
索引就地修改
1 | # 上面栗子中的number修改为phone_num |
1 | sex NaN |
DataFrame
- 表格型数据结构,含有一组有序的列
- 既有行索引也有列索引
DF创建
- 使用pd.DataFrame(data)
- 直接传入字典型数据
- 通过
columns
参数指定各个属性的顺序
1 | # 1.通过传入等长列表或者Numpy数组组成的字典 |
state | year | pop | |
---|---|---|---|
0 | Ohio | 2000 | 1.5 |
1 | Ohio | 2001 | 1.7 |
2 | Ohio | 2002 | 3.6 |
3 | Nevada | 2001 | 2.4 |
4 | Nevada | 2002 | 2.9 |
5 | Nevada | 2003 | 3.2 |
1 | # 2. 指定列序列创建,通过columns参数 |
year | state | pop | |
---|---|---|---|
0 | 2000 | Ohio | 1.5 |
1 | 2001 | Ohio | 1.7 |
2 | 2002 | Ohio | 3.6 |
3 | 2001 | Nevada | 2.4 |
4 | 2002 | Nevada | 2.9 |
5 | 2003 | Nevada | 3.2 |
1 | # 3、columns中的属性如果不存在,则结果中用缺失值代替,debt属性 |
year | state | pop | debt | |
---|---|---|---|---|
one | 2000 | Ohio | 1.5 | NaN |
two | 2001 | Ohio | 1.7 | NaN |
three | 2002 | Ohio | 3.6 | NaN |
four | 2001 | Nevada | 2.4 | NaN |
five | 2002 | Nevada | 2.9 | NaN |
six | 2003 | Nevada | 3.2 | NaN |
DF操作1
- 1、查看DF中有哪些列属性columns和索引index
- 2、查看DF中的所有数据values,通过属性的方式
- 3、查看DF中的部分数据
- 查看列数据
- 通过字典标记或者属性(.点)的方式
- 获取到的其实就是个S型数据
- frame[column] # 更通用
- frame.column # 属性的形式
- 查看行数据
- loc # 标签索引查看
- iloc # 整数索引查看
- 查看列数据
- 4、通过赋值修改某列的数据
- 传入具体数值数据
- 传入
numpy
生成的数据 - 传入S型数据,长度需要和D型数据一致,否则空位上将被填上缺失值
- 赋值新的列:如果操作的列不存在,则会自动创建
1 | # 1、获取DF中的列属性和索引 |
1 | Index(['year', 'state', 'pop', 'debt'], dtype='object') |
1 | # 2、查看values |
1 | array([[2000, 'Ohio', 1.5, nan], |
1 | # 3、查看列数据 |
1 | one 2000 |
1 | frame2["year"] |
1 | one 2000 |
1 | # 4、赋值修改列 |
year | state | pop | debt | |
---|---|---|---|---|
one | 2000 | Ohio | 1.5 | 18 |
two | 2001 | Ohio | 1.7 | 18 |
three | 2002 | Ohio | 3.6 | 18 |
four | 2001 | Nevada | 2.4 | 18 |
five | 2002 | Nevada | 2.9 | 18 |
six | 2003 | Nevada | 3.2 | 18 |
1 | # 传入numpy数据 |
year | state | pop | debt | |
---|---|---|---|---|
one | 2000 | Ohio | 1.5 | 0.0 |
two | 2001 | Ohio | 1.7 | 1.0 |
three | 2002 | Ohio | 3.6 | 2.0 |
four | 2001 | Nevada | 2.4 | 3.0 |
five | 2002 | Nevada | 2.9 | 4.0 |
six | 2003 | Nevada | 3.2 | 5.0 |
1 | # 传入S型数据 |
year | state | pop | debt | |
---|---|---|---|---|
one | 2000 | Ohio | 1.5 | 1.2 |
two | 2001 | Ohio | 1.7 | NaN |
three | 2002 | Ohio | 3.6 | 1.9 |
four | 2001 | Nevada | 2.4 | NaN |
five | 2002 | Nevada | 2.9 | 2.0 |
six | 2003 | Nevada | 3.2 | NaN |
DF操作2(重点)
- 1、 创建不存在的列:只能通过字典标记的形式
- 2、创建布尔型数据
- 如何创建一列布尔值(T/F)的数据
- 如何创建一个新的属性数据
- 3、删除数据del
- 4、嵌套字典形式创建DF数据
- 外层作为列索引
- 内层作为行索引
- 5、DF转置T
- 6、DF中传入S型数据
- 7、设置DF的columns和index属性的name属性
创建数据
- 如何创建一列布尔值(T/F)的数据
- 如何创建一个新的属性数据
1 | # 1、2 |
year | state | pop | debt | eastern | |
---|---|---|---|---|---|
one | 2000 | Ohio | 1.5 | 1.2 | True |
two | 2001 | Ohio | 1.7 | NaN | True |
three | 2002 | Ohio | 3.6 | 1.9 | True |
four | 2001 | Nevada | 2.4 | NaN | False |
five | 2002 | Nevada | 2.9 | 2.0 | False |
six | 2003 | Nevada | 3.2 | NaN | False |
1 | # 3 删除数据 |
1 | frame2 |
year | state | pop | debt | |
---|---|---|---|---|
one | 2000 | Ohio | 1.5 | 1.2 |
two | 2001 | Ohio | 1.7 | NaN |
three | 2002 | Ohio | 3.6 | 1.9 |
four | 2001 | Nevada | 2.4 | NaN |
five | 2002 | Nevada | 2.9 | 2.0 |
six | 2003 | Nevada | 3.2 | NaN |
1 | frame2["pop"] |
1 | one 1.5 |
1 | frame2.pop |
1 | <bound method NDFrame.pop of year state pop debt |
1 | # 4 嵌套字典创建DF:外层为列属性,内层为行 |
Nevada | Ohio | |
---|---|---|
2000 | NaN | 1.5 |
2001 | 2.4 | 1.7 |
2002 | 2.9 | 3.6 |
1 | # 5、转置操作 |
2000 | 2001 | 2002 | |
---|---|---|---|
Nevada | NaN | 2.4 | 2.9 |
Ohio | 1.5 | 1.7 | 3.6 |
1 | # 6 、DF中传入S型数据 |
Ohio | Nevada | |
---|---|---|
2000 | 1.5 | NaN |
2001 | 1.7 | 2.4 |
1 | # 获取DF中的所有数据 |
1 | array([[2000, 'Ohio', 1.5, 1.2], |