欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

课上笔记(六)(Python)

程序员文章站 2024-01-29 19:23:52
...

课上笔记(六)(Python)

  • 学习使我快乐
NumPy→(Numerical+Python)

首先你需要知道,以后基本会使用
import numpy as np
import pandas as pd

  • ndarratys
    NumPy有着极为强大对象:ndarrays(Python的扩展)

首先尝试着创建一个ndarrays

输入:
		import numpy as np
		a = np.array([1, 2, 3, 4, 5],str)
		print(a)

输出:
		[1,2,3,4,5]

有一件事必须知道是创建一个ndarrays[作为一个数组,其中的所有的类型都相同,必须]

numpy.array( [ ], 类型) ————→第二个参数将用于指定存储数据类型

输入:
		import numpy as np
		a = np.array([1, 2, 3, 4, 5])
		print(a)

输出:
		['1' '2' '3' '4' '5']
  • 还可以直接用迭代对象创建(有点优秀啊)
输入:
		import numpy as np
		a = np.arange(1, 10, 2)
		print(a)

输出:
		[1,3,5,7,9]
  • Python识别ndarrays类型即为ndarrays
输入:
		import numpy as np
		a = np.array([0,1,2,3,4])
		print(type(a))

输出:
		<class 'numpy.ndarray'>

numpy.array( [ ], ndmin = ) ndmin = 后为最小维度

输入:
		import numpy as np 
		a = np.array([1,2,3,4,5], ndmin = 3)  
		b = np.array([1,2,3,4,5], ndmin = 2) 
		c = np.array([1,2,3,4,5], ndmin = 1) 
		print (a)
		print (b)
		print(c)

输出:
		[[[1 2 3 4 5]]]
		[[1 2 3 4 5]]
		[1 2 3 4 5]
  • shape
    使用np.shape可以按照数组维度返回长度
    即:
输入:
		import numpy as np
		b = np.array([[1,2],[4,5],[7,8]])
		print(b.shape)
		print(b[0,0],b[0,1],b[1,0])

输出:
		(3, 2)————→第一维度3个元素,第二维度2个元素
		1 2 4

如果同一纬度长度不同则返回none(同纬度长度不同的正常不在我们的考虑之内)

输入:
		import numpy as np
		b = np.array([[1,2],[4,5,6],[7,8,9]])
		print(b.shape)

输出:
		(3,)
  • zeros
    zeros可以把ndarrays中的所有值都更改成0
    np.zeros(),括号中的元素是一个元组,和shape返回的是同一种东西
输入:
		import numpy as np 
		a = np.zeros((2,3,4))
		print(a)

输出:
		[[[0. 0. 0. 0.]
		  [0. 0. 0. 0.]
		  [0. 0. 0. 0.]]

		 [[0. 0. 0. 0.]
		  [0. 0. 0. 0.]
		  [0. 0. 0. 0.]]]
  • ones
    ones可以把ndarrays中的所有值都更改成1
输入:
		import numpy as np 
		a = np.ones((2,3,4))
		print(a)
输出:
		[[[1. 1. 1. 1.]
		  [1. 1. 1. 1.]
		  [1. 1. 1. 1.]]

		 [[1. 1. 1. 1.]
		  [1. 1. 1. 1.]
		  [1. 1. 1. 1.]]]
  • size
    正常来说,求多维数组中的元素总数的求法应该是shape返回的元组中所有元素的积,不过有一个专门的方法是来求多维数组中元素的总数的。
输入:
		import numpy as np 
		a = np.zeros((2,3,4))
		print(a.size)
输出:
		24 ←————2*3*4=24
多维数组的切片

数组可以进行切片,多维数组也可以进行切片
简单来说,就是从左开始切片,切片是从一维开始切的

输入:
		import numpy as np 
		a = np.arrays([[1,2,3,4,5], 
						[6,7,8,9,10], 
						[11,12,13,14,15],
						[16,17,18,19,20],
						[21,22,23,24,25]])
		print(a[:3:,:4:])

输出:
		[[ 1  2  3  4]
		 [ 6  7  8  9]
		 [11 12 13 14]]

↑←首先,切从左开始先切:3:,先从一维开始切,所以我们拿出来一维的前三个
[[1,2,3,4,5]
[6,7,8,9,10]
[11,12,13,14,15]]
然后,从左依次切到:4:,再来切二维,所以我们拿出二维的(每个二维数组的)前四个
[[ 1 2 3 4]
[ 6 7 8 9]
[11 12 13 14]]

  • ndim ←—————返回维度数
输入:
		import numpy as np
		a = np.array([1, 2, 3, 4, 5])
		print(a.ndim)

输出:
		1
输入:
		import numpy as np
		a = np.arrays([[1,2,3,4,5], 
						[6,7,8,9,10], 
						[11,12,13,14,15],
						[16,17,18,19,20],
						[21,22,23,24,25]])
		print(a.ndim)

输出:
		5
  • reshape ←—————将多维数组返回成另一种的多维数组数组(如果reshape后的元组中的元素乘积不等于其元素总和(即:size返回值),则报错)
输入:
		import numpy as np
		a = np.arange(25)
		print(a)
		a = a.reshape((5,5))
		print(a)

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


		[[ 0  1  2  3  4  5]
		 [ 6  7  8  9 10 11]
		 [12 13 14 15 16 17]
		 [18 19 20 21 22 23]]


		[[ 0  1  2  3  4  5  6  7]
		 [ 8  9 10 11 12 13 14 15]
		 [16 17 18 19 20 21 22 23]]
  • 布尔屏蔽
    将一个条件表达式赋值给一个变量,这个变量就会变成一个由false和true组成的数组
    将这个变量用于其他数组,就会自动选择true了
输入:
		import numpy as np
		a = np.arange(0,100,10)
		b = a>=50
		print(b)
		print(a[b])
		c = np.arange(0,1000,100)
		b = c>=800
		print(b)
		print(a[b])

输出:
		[False False False False False  True  True  True  True  True]
		[50 60 70 80 90]
		[False False False False False False False False  True  True]
		[80 90]
相关标签: Python NumPy