之前写smith-waterman的时候用到了np.zeros((x,y)),但是pd还没有系统的了解过,所以这次就系统地学习一下吧。 Python之numpy学习 - 图1一、理解python中数据类型
    注意⚠️:以下都是我自己的个人理解,不代表完全正确。
    对于数据类型,python的列表中可以存储不同的数据类型

    1. i = [1,2,3.1,4,555,'666','hello']
    2. print(i)
    1. [1, 2, 3.1, 4, 555, '666', 'hello']
    2. [Finished in 0.1s]

    这样做的好处是对于输入者本身很方便,增加了易用性,但是你的易用是来自于机器做的更多的工作,python需要存储每个数据的数据类型,这样会加大python的运行负担。
    使用numpy创建数组的一个好处是创建的所有数组都是同一种数据类型,即使你给出的是不同数据类型,numpy也会把他们变成同一种数据类型,这样可以保证数据的一致性,也可以提高运行效率。

    1. import numpy as np
    2. i = np.array(['1',2,3.14],dtype = int)#全部转化为整数
    3. print(i)
    4. i2 = np.array(['1',2,3.14],dtype = str)#全部转化为字符串
    5. print(i2)
    6. i3 = np.array(['1',2,3.14],dtype = float)#全部转化为浮点数
    7. print(i3)
    8. #数组必须是同种数据类型,不然会被转换为同一种
    9. j = np.array([3.14,4,5,3,2])
    10. print(j)
    11. j2 = np.array(['1','2',2,3,4,3.14])
    12. print(j2)
    13. #如果你想明确指定哪种数据类型,可以用dtype指定数据类型
    14. k = np.array([1,2,3,4],dtype = 'float32')
    15. print(k)
    1. [1 2 3]
    2. ['1' '2' '3.14']
    3. [1. 2. 3.14]
    4. [Finished in 0.2s]
    5. [3.14 4. 5. 3. 2. ]
    6. ['1' '2' '2' '3' '4' '3.14']
    7. [1. 2. 3. 4.]

    1.1创建整型数组:np.array()
    list可以是横向也可以是纵向的。

    1. #创建数组
    2. i = np.array([1,4,3,5,3])
    3. print(i)
    4. i = np.array([1,
    5. 2,
    6. 3,
    7. 4])
    8. print(i)
    9. #不仅可以组成一维数据,也可以制作多维数据。
    10. m = np.array([range(i,i+3) for i in [2,4,6]])
    11. print(m)
    12. #使用python列表创建数组
    13. t = ['niha','333',444,3.1415,]
    14. t2 = np.array(t)
    15. print(t2)
    1. [1 4 3 5 3]
    2. [1 2 3 4]
    3. [[2 3 4]
    4. [4 5 6]
    5. [6 7 8]]
    6. ['niha' '333' '444' '3.1415']

    1.2、从头创建数组np.zeros((x,y),dtype = )

    1. #创建初始值为0的数组
    2. i0 = np.zeros(10,dtype = int)
    3. print(i0)
    4. #创建一个2*2阶的矩阵。
    5. i1 = np.zeros((2,2),dtype = float)
    6. print(i1)
    1. [0 0 0 0 0 0 0 0 0 0]
    2. [[0. 0.]
    3. [0. 0.]]

    1.3、创建一个全部为1的数组np.ones((x,y),dtype= )