1465-王同学-算法方向-推荐系统-就业:是 已关闭

1465-王同学-算法方向-推荐系统-就业:是 扫二维码继续学习 二维码时效为半小时

(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、给图片添加一个水印(防伪,防盗)

 

[展开全文]

二、matplotlib

·为什么要学习matplotlib?

1、能够给将数据进行可视化,更直观的呈现;

2、使数据更加可观、更具有说服力

·什么是matplotilib?

最流行的python底层绘图库,主要做数据可视化图标,名字取材于matlab,模仿matlab构建

·matplotlib基本要点

 

[展开全文]

每创一个项目的时候,都可以建一个环境

 

[展开全文]

一、 数据分析导论

1.概念

什么是数据分析?——用适当的方法对收集来的大量数据进行分析,帮助人们做出判断,一边采取适当行动。

2、数据分析的流程

提出问题—>准备数据—>分析数据—>获得结论—>成果可视化

 

[展开全文]

字符串常用方法汇总

空白符: {制表符\t  换行符\n  空格 }

1、查找方法

len(a)  :字符串a的长度

a.startswith() 判断a是否以指定字符串开头

a.endswith() 判断a是否以指定字符串结尾

a.find() 定位第一次出现指定字符串的位置

a.rfind() 定位最后一次出现指定字符串的位置

a.count() 累计指定字符串一共出现的次数

注意⚠️:多行长段字符串要用三引号输入"""   """
>>> a='我是高淇,今年18 岁了,我在北京尚学堂科技上班。我的儿子叫高洛希,他6 岁了。我 是一个编程教育的普及者,希望影响6000 万学习编程的中国人。我儿子现在也开始学习编 程,希望他18 岁的时候可以超过我'
SyntaxError: EOL while scanning string literal

例子

a='''我是高淇,今年18岁了,我在北京尚学堂科技上班。我的儿子叫高洛希,他6岁了。我 是一个编程教育的普及者,希望影响6000万学习编程的中国人。我儿子现在也开始学习编 程,希望他18岁的时候可以超过我'''

>>> len(a)
98

>>> a.startswith("我是")
True
>>> a.endswith("超过我")
True

>>> a.find("今年")
5
>>> a.rfind("程")
85
>>> a.count("儿子")
2

2、去除首尾信息 

a.strip( ) 首尾

a.lstrip() 左边

a.rstrip() 右边

例子
>>> "**sxt***".strip("*")
'sxt'

>>>"      s*x*t    ".strip()

's*x*t'(默认去除空格)

>>> "**s*x*t***".lstrip("*")
's*x*t***'

>>> "**s*x*t***".rstrip("*")
'**s*x*t'

3、大小写转换(转换之后生成新的字符串,原字符串不变)

a.capitalize() 仅字符串开头首字母大写

a.title() 每个单词首字母大写

a.upper() 所有字符全大写

a.lower() 所有字符全小写

a.swapcase() 所有字母大小写交换

例子

a = "gaoqi love programming, love SXT"

>>> a.capitalize()
'Gaoqi love programming, love sxt'

>>> a.title()
'Gaoqi Love Programming, Love Sxt'

>>> a.upper()
'GAOQI LOVE PROGRAMMING, LOVE SXT'

>>> a.lower()
'gaoqi love programming, love sxt'

>>> a.swapcase()
'GAOQI LOVE PROGRAMMING, LOVE sxt'

4、格式排版

 

 

 

[展开全文]
  1. 集合
  2. 元素
  3. 描述方式
  4. ​​​​​​​子集
  5.  
[展开全文]

有返回值的不会修改原值。

t1.reshape(n, )  # shape成一维

t1.reshape(n, 1)or(1,n)  # 都是二维

n = t5.shape[0]*t5.shape[1]

or

t5.flatten()

broadcast 在矩阵中必须有一个纬度相同

[展开全文]

枚举法

for a in range(0,1001):

[展开全文]

1、sgd:随机梯度下降()

2、bgd:

3、min-batch:

4、在线学习的好处。样本

[展开全文]

字符串驻留

符合标识符规则的字符串:只能包含下划线、字母、数字

仅保存一份相同字符串-启用驻留机制(id相同)

>>> a = 'abd_33'
>>> b = 'abd_33'
>>> a is b
True
>>> a == b
True
>>> id(a)
140536471608752
>>> id(b)
140536471608752

 

成员操作符

in/not in 判断子字符串是否在字符串中

 

[展开全文]

1、字符串的分割

默认按照空白符分割

split( )

>>> a.split()
['to', 'be', 'or', 'not', 'to', 'be']

#在空格处分割

>>> a = "to be or not to be"
>>> a.split("b")
['to ', 'e or not to ', 'e']

#在两个b处分割,空格字符串也参与分割

2、合并

‘’.join()
>>> a = ['sxt','sxt100','sxt200']
>>> ''.join(a) #无缝合并
'sxtsxt100sxt200'
>>> '+'.join(a)#用+连接
'sxt+sxt100+sxt200'

3、对比+,join()

+ 操作一次就生成一个新的字符串,join仅新建一次对象(更推荐)

import time
time01 = time.time() #起始时间
a = ""
for i in range(1000000):
    a += "sxt"

time02 = time.time() #停止时间
print("运算时间:" + str(time02-time01))

time03 = time.time()
li = [] #定义列表
for i in range(1000000):
    li.append("sxt")

a = "".join(li)

time04 = time.time() #停止时间
print("运算时间:" + str(time04-time03))

[展开全文]