美文网首页
numpy快速入门(4):常用函数

numpy快速入门(4):常用函数

作者: 大锅烩菜 | 来源:发表于2018-09-02 14:46 被阅读0次

1.求自然常数的幂次方

自然常数是一个约等于2.71828182845904523536……的无理数。Exp 函数返回 e(自然对数的底,即自然常数)的幂次方。

import numpy as np
a = np.arange(3)  # [0,1,2]
print(np.exp(a)) #[1.   2.71828183   7.3890561 ]

2.求平方根

平方根的概念:如果一个数的平方等于a,这个数就叫做a的平方根,也叫做a的二次方根;

import numpy as np
a = np.array([0,1,2,4])
print(np.sqrt(a)) # [0.  1.  1.41421356    2.  ]

3. 向下取整

import numpy 
a = numpy.array([3.14,3.56]);
print(numpy.floor(a))  #[3. 3.]

4. 矩阵转换为向量

matrix = numpy.arange(4).reshape(2,2) #
vector = numpy.ravel(matrix) #[0, 1, 2, 3]

5. 拼接

# 样本A
A = numpy.array([[1,2],[3,4]])
# 样本B
B = numpy.array([5,6])
# 合并样本。 按照行进行拼接 。按列拼接用hstack
C = numpy.vstack([A,B])
print(C) [[1 2],[3 4],[5 6]]

6. 切割

hsplit可以对矩阵进行切割
首先,有如下的矩阵:

sample = numpy.arange(18).reshape(3,6)
print(sample)

输出如下:



使用hsplit将其按行平均分成三份:

numpy.hsplit(sample,3)

结果:



也可以直接指定分割位置

# 在第三列和第五列后面切割
numpy.hsplit(sample,[3,5])

结果:


7. 浅复制与深复制

浅复制使用view,两个变量指向同一个数据,修改一个变量的值,另一个变量值随之改变。

a = numpy.arange(4).reshape(2,2)
b = a.view()  # 等价于 b = a。都是浅复制
print(a)   # [0,1,2,3]
print(b)   # [0,1,2,3]
b[0,0] = 4
print(a)   # [4,1,2,3]
print(b)   # [4,1,2,3]

copy实现的是深复制,修改一个变量的值,另一个变量值不变

a = numpy.arange(4).reshape(2,2)
b = a.copy()  # 等价于 b = a。都是浅复制
print(a)   # [0,1,2,3]
print(b)   # [0,1,2,3]
print(id(a))
print(id(b))
b[0,0] = 4
print(a)   # [0,1,2,3]
print(b)   # [4,1,2,3]

8. 返回每列最大值

data = numpy.arange(12).reshape(4,3)
print(data)

# argmax获取最大值的索引。
m_data = data.argmax(axis=0)
print(data[m_data,range(data.shape[1])]) # [ 9 10 11]

9.排序

data = numpy.array([[3,5,2],[5,2,7]])
# axis=1 按行排序 
res = numpy.sort(data,axis=1)
print(res) #[[2 3 5] [2 5 7]]

10. 获取元素排列中的索引

data = numpy.array([3,5,1,4])
# 获取元素的索引。默认从大到小
index = numpy.argsort(data)
print(index) # [2 0 3 1]
# 按照索引值从大到小打印
print(data[index])%%! #[1 3 4 5]

11. 矩阵平铺

a =numpy.array([1,2])
# 把矢量a复制成行2倍列3倍的矩阵
res = numpy.tile(a,[2,3])
print(res)  #[[1 2 1 2 1 2]  [1 2 1 2 1 2]]

相关文章

网友评论

      本文标题:numpy快速入门(4):常用函数

      本文链接:https://www.haomeiwen.com/subject/ducmwftx.html