3197-高言-人工智能学科-数据挖掘方向-就业:否 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

思考:对于一组电影数据,如果要对这些数据进行分类,应该如何操作?

首先,先构一个二维数组,行数等于gener_list的数据量,即取出来genre这一列的数据,通过逗号进行分割,即将每一行数据分割出来一二维数据的形式返回列表中

df["Genre"].str.split(",").tolist()

然后将这个list里面的数据都转换为一维数组且去重

再构建一个新的二维数组,最初的值都为零,行是genre 的数据量,列表是一维数组的数据量,分类最为列索引

 

 

[展开全文]

pandas里面计算mean()时,可以直接跳过nan,来返回其他值得平均数

 

[展开全文]

#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)

[展开全文]
1757_N_DZ · 2021-05-06 · 解锁式学习 0

pandas的索引

1.df.loc 通过标签引行数据
2.df.iloc 通过位置取行数据
[展开全文]

为什么要学习pandas?

numpy处理数值型数据;pandas用来处理字符串和时间序列等

pandas的常用数据类型

(1)series——一维、带标签的数组

(2)DataFrame——二维数组

 

[展开全文]

ndarray缺失值填充均值

 

[展开全文]

numpy 中的nan 和 inf

nan:not a number表示不是一个数字

当我们读取本地的文件为float时,如果有缺失,就会出现nan,当做了一个不合适的计算的时候也会出现nan(比如无穷大inf减去无穷大)

特殊属性:(1)两个nan是不相等的;(2)np.nan != np.nan;(3)利用以上特性,判断数组中nan的个数;(4)通过np.isnan(t)来判断nan有几个;(5)nan跟任何一个数进行计算都是nan

在一组数据中单纯将nan替换为0并不合适,很多时候会把缺失值替换成均值(中值)或者直接删除有缺失值的一行。

求和:t.sum(axis=None)

均值:t.mean(axis=None)  受离群点的影响较大

中值:np.median(t,axis=None)

最大值:t.max(axis=None)

最小值:t.min(axis=None)

极值:np.ptp(t,axis=None) 即最大值和最小值只差

标准差:t.std(axis=None)

inf:表示真无穷;-inf表示负无穷

什么时候出现inf或-inf?比如一个数字除以0

[展开全文]

numpy中数值的修改

numpy中布尔索引

numpy中三元运算符

numpy中的clip(裁剪)

 

[展开全文]

轴:

numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0,对于2维数组(shape(2,2)),0轴和1,对于三维数组(shape(2,2, 3)),0,1,2

二维数组的轴:

三维数组的轴:

numpy读取数据

csv:逗号分割值文件

 

numpy中的转置

转置是一种变换,对于numpy中的数组来说,就是对角线方向交换数据,目的也是为了更方便处理数据

转置方法:(1)transpose();(2)T;(3)swapaxes(1,0)

 

[展开全文]

数组的形状

数组的计算

广播原则

如果两个数的后缘维度(即从末尾开始算起的维度)的轴长度相符或者其中一方的长度为1则认为它们是广播兼容的、广播会在确实和(或)长度为1的维度上进行

 

[展开全文]

什么是numpy?

numpy是用来帮我们处理数值型数据的模块,躲在大型、多维数组上执行数值运算

为什么要学习numpy?

(1)快速

(2)方便

(3)科学计算的基础库

[展开全文]

一般来说,plt.hist()方法传入的参数为原始数据和数组,但是当给出的数据均为统计过后的数据时,该方法就失效了,需要通过条形图的方式来转换成直方图。

 

 

[展开全文]

直方图

纵向直方图用bar,width表示直方图线条的粗细;横向直方图用barh,height表示直方图线条的粗细

发现问题找源码ctrl+B

 

 

[展开全文]

散点图的更多应用场景

1、不同条件(维度)之间的内在关联关系;

2、观察数据的离散聚合程度

 

[展开全文]

1、绘制折线图——plt.plot

2、设置图片大小和分辨率——plt.figure(figsize(20,8), dip=80)

3、实现了图片的保存——plt.savefigure

4、设置了xy轴上的刻度和字符串——xticks(如果要将刻度转换为中文字符串,必须使得x和_xticks_labels保持一一对应的关系)

5、解决了刻度系数和密集度的问题——xticks/yticks(直接用range的话,刻度无法是小数,只有整数形式,可以强制转换为list以后做推导式或切片操作)

6、设置了标题,xy轴的lable——plt.title/xlabel/ylabel

7、设置了字体——matplotlib模块里面的font_manager 上面的 FontProperties 进行设置,windows系统里的字体通过控制面板进行查找字体,右击字体选择属性即可看到地址和名称以及格式;

8、在一个图上绘制多个图形(plt多次plot即可)

9、为不同的图形添加图例——第一步在两个折线里面设置label参数,然后通过plt.legend(prop = my_font, loc="(设置位置)")

 

以上都很重要

 

如果需要其他图形,可以在百度搜索matplotlib

选择example,找到想了解的图像,点击进去有对应的代码

 

各种图形之间的对比

[展开全文]

we can do more:
1、设置图片大戏小;

2、保存到本地;

3、描述信息,比如x轴和y轴表示什么,这个图表示什么;

4、调整x或y的刻度间距;

5、线条的样式;

6、标记出特殊的点(告诉别人最高点和最低点在哪里);

7、给图片添加一个水印(防伪,防盗)

 

[展开全文]