人工智能基础课堂纪要3

5.2 基本数据操作

1.索引操作

1.直接 -- 先列后行

2.loc -- 先行后列,索引值

3.iloc -- 先行后列,索引值的下标

4.ix -- 先行后列,混合索引

2.赋值操作

1.对象[""]

2.对象.close

3.排序

1.dataframe

对象.sort_values()

by -- 按照什么排序

ascending -- 升降序

对象.sort_index()

注意:by这个参数可以接受多个值,优先按照第一个索引排序,如果相同,按照后面的

2.series

对象.sort_values()

对象.sort_index()

5.3 DataFrame运算

1.算术运算

直接使用方法, add, sub ...

也可以用符号

2.逻辑运算

2.1 逻辑运算符号<、 >、|、 &

直接判断

2.2 逻辑运算函数

对象.query("")

对象.isin([])

3.统计函数

对象.describe()

统计函数

sum

mean

...

mode -- 众数

idxmax -- 最大值的索引

idxmin -- 最小值的索引

4.累计统计函数

函数      作用

cumsum  计算前1/2/3/…/n个数的和

cummax  计算前1/2/3/…/n个数的最大值

cummin  计算前1/2/3/…/n个数的最小值

cumprod 计算前1/2/3/…/n个数的积

5.自定义运算[***]

apply(func, axis=)

func -- 自己定义的函数

5.4 Pandas画图

对象.plot()

kind --

line -- 折线图

bar

barh -- 条形图旋转

hist

pie

scatter

5.5 文件读取与存储

1.csv

1.读取-- pd.read_csv

参数:

usecols -- 需要哪列

2.存储 -- 对象.to_csv

参数:

columns -- 保存哪列

2.hdf

1.读取 -- pd.read_hdf()

2.写入 -- 对象.to_hdf()

注意:保存文件是****.h5

3.json

1.读取 -- pd.read_json()

2.写入 -- 对象.to_josn()

参数:

orient -- 按照什么方式进行读取或者写入

lines -- 是否按照行读取和写入

4.推荐使用hdf

1.压缩方式,读取效率快

2.压缩后,节省空间

3.支持跨平台

5.6 高级处理-缺失值处理[*****]

判断数据是否为NaN:

np.any(pd.isnull(movie))  # 里面如果有一个缺失值,就返回True

np.all(pd.notnull(movie))  # 里面如果有一个缺失值,就返回False

处理方式:

存在缺失值nan,并且是np.nan:

1、删除存在缺失值的:dropna(axis='rows')

注:不会修改原数据,需要接受返回值

2、替换缺失值:fillna(value, inplace=True)

value:替换成的值

inplace:True:会修改原数据,False:不替换修改原数据,生成新的对象

不是缺失值nan,有默认标记的

对象.replace()

to_replace -- 替换前的值

value -- 替换后的值

5.7 高级处理-数据离散化

1.什么是数据离散化

把一些数据分到某个区间,最后用不同的符号或者数字表达

2.数据离散化api

pd.qcut() -- 把数据大致分为数量相等的几类

pd.cut()  -- 指定分组间隔

数量统计:

对象.value_counts()

3.one-hot编码

就是把数据转换成为0,1统计类型

别名:哑变量,热独编码

api:

pd.get_dummies()

5.8 高级处理-合并

pd.concat()

axis=

pd.merge()

left -- 左表

right -- 右表

on -- 指定键

how -- 按照什么方式进行拼接

5.9 高级处理-交叉表与透视表

1.什么交叉表,透视表

就是探索两列数据之间的关系

2.pd.crosstab()

返回具体数量

3.对象.pivot_table()

返回占比情况

5.10 高级处理-分组与聚合

1.api

对象.groupby()

参数:as_index -- 是否进行索引

注意:可以对数据进行对此分组,需要里面传递一个列表进行完成.

(0)

相关推荐