knn算法中的函数

Numpy模块:

from numpy import *
#将numpy函数库中所有模块引入当前的命名空间

numpy中包含了数组矩阵两种数据类型
tile 函数

tile(inx,(x,y))
# tile 将原矩阵横向、纵向地复制
# inx 表示被操作对象,一般为数组或矩阵
#  (x,y)括号里面的参数表明横向,纵向铺陈的维数

例如:对于矩阵lx

lx = array([[1, 2], [3, 4]])

横向铺开:

  tile(lx, (1, 3))

得到结果:

array([[1, 2, 1, 2, 1, 2],
   [3, 4, 3, 4, 3, 4]])

纵向铺开:

tile(lx, (3, 1))

得到:

array([[1, 2],
       [3, 4],
       [1, 2],
       [3, 4],
       [1, 2],
       [3, 4]])

横向+纵向铺开:

tile(lx, (2, 3))

得到:

array([[1, 2, 1, 2, 1, 2],
       [3, 4, 3, 4, 3, 4],
       [1, 2, 1, 2, 1, 2],
       [3, 4, 3, 4, 3, 4]])

sum 函数
还是矩阵lx

 lx 
array([[1, 2],
       [3, 4]])

sum的用法:

 lx.sum() 
 #括号中不加任何参数,所有元素相加得到一个数
In [15]: lx.sum()
Out[15]: 10

lx.sum(axis = 0)
#参数为axis = 0,每一列所有元素分别向加    
 In [12]: lx.sum(axis = 0)
 Out[12]: array([4, 6])

 lx.sum(axis = 1)
 #参数为axis = 1,每一行所有元素分别向加 
 In [14]: lx.sum(axis = 1)
 Out[14]: array([3, 7])

argsort() 函数
将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y
举例说明:

In [22]: lxx = array([3,7,5,8,7,6])

In [23]: lxx
Out[23]: array([3, 7, 5, 8, 7, 6])
In [24]: a = lxx.argsort()

In [25]: a
Out[25]: array([0, 2, 5, 1, 4, 3], dtype=int64)

In [26]: a[1]
Out[26]: 2

range() 函数
可创建一个整数列表,一般用在 for 循环中

range(start, stop[, step])

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

字典的get() 函数

dict.get(key, default=None)

key – 字典中要查找的键。
default – 如果指定键的值不存在时,返回该默认值值。

返回指定键的值,如果值不在字典中返回默认值None。

In [30]: dict = {'Name': 'lxx', 'Age': 18}

In [31]: dict.get('Name')
Out[31]: 'lxx'

sorted() 函数
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:

sorted(iterable[, cmp[, key[, reverse]]])
参数说明:

iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值