机器学习-科学数据库day3

1 numpy 创建数组

np.array([1, 2, 3])通过列表创建一维数组

np.array([(1, 2, 3), (4, 5, 6)])通过列表创建二维数组

np.zeros((3, 4))创建全为0的二维数组

np.ones((2, 3, 4))创建全为1的三维数组

np.full((3, 4), 2)  full函数,创建任意大小的数组并填充任意数字此时为2

np.arange(5)创建一维等差数组

np.arange(6).reshape(2, 3) 创建二维等差数组

np.eye(3) 创建单位矩阵(二维数组)

np.random.rand(2, 3) 创建二维随机数组

np.random.randint(5, size = (2, 3))  创建二维随机整数数组(数值小于 5)

机器学习-科学数据库day3

2 数组运算

a.argsort() # 将元素按照行从小到大排序,返回对应位置元素的下标

a = np.array([[3, 6, 4, 11],
              [5, 10, 1, 3]])

a.argsort()

输出:[[0 2 1 3]
           [2 3 0 1]]

广播原则:a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) b = np.array([1, 2, 3])

  # a+b相当于在a的每一行都加上b

        ([[ 2, 4, 6],
   [ 5, 7, 9],
   [ 8, 10, 12]])

机器学习-科学数据库day3

3 索引的使用

a[1, 2]取出某个确定的值第一行第二列的值

a[-2:, 1:3]表示[取倒数第二行到最后一行, 第二列到第三列

t=np.arange(24).reshape(4,6)

t[t<10]=0   #把t中小于10的数字替换为0

np.where(t<10,0,10)      #numpy中的三元运算符把t中小于10的数字替换为0,其余为10

 t.clip(10,18) #小于10的替换为10,大于18的替换为18

4 numpy的转置

t.transpose()

t.swapaxex(1,0)

t.T

5  numpy中的nan的注意点

np.nan!=np.nan

6 数组的拼接

np.vstack((t1,t2))  #竖直拼接

np.hstack((t1,t2))  # 水平拼接

t [[1,2],:]=t [[2,1],:] #行交换

t [:,[1,2]]=t [:,[2,1]] #列交换

7   t中存在nan值,如何操作把其中的nan填充为每一列的均值

t 1= [[ 0.  1.  2.  3.  4.  5.]
 [ 6.  7. nan nan nan nan]
 [12. 13. 14. 15. 16. 17.]
 [18. 19. 20. 21. 22. 23.]]

机器学习-科学数据库day3

输出: [[ 0.  1.  2.  3.  4.  5.]
            [ 6.  7. 12. 13. 14. 15.]
            [12. 13. 14. 15. 16. 17.]
            [18. 19. 20. 21. 22. 23.]]

8 numpy读取数据np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)

机器学习-科学数据库day3

机器学习-科学数据库day3

9  matplotlib绘制出youtube视频评论数量小于等于五千的直方图

机器学习-科学数据库day3

 机器学习-科学数据库day3

 10  英国的youtube中视频的评论数和喜欢数的关系

机器学习-科学数据库day3

机器学习-科学数据库day3

 

 

上一篇:密码学(杨义先)- 计算复杂性理论


下一篇:Numpy的简单运算