常用模块的命名惯例
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import statsmodels as sm
numpy基础
NumPy的ndarray是一种多维数组对象,创建一个ndarray实例
import numpy as np
data = np.random.randn(3,5)
调用numpy库中的random模块的randn函数,这个函数根据标准正态分布随机产生一个数,生成了一个二维数组,每个列表中有五个元素,可以直接对数组进行数学运算,计算会应用在每个元素上。
data * 10
每个数组都有shape和dtype属性,前者表示各维度大小,后者说明数组中的数据类型的对象
创建ndarray
array是数组创建函数,它将输入数据(列表、元祖、数组或其它序列类型)转换为ndarray。
新建一个列表,将列表作为参数传到array中。
data1 = [1,2,3,4,5]
arr1 = np.array(data1)
如果是嵌套序列,则生成多维数组
data2 = [[10, 9, 8, 7], [6, 5, 4, 3]]
arr2 = np.array(data2)
数组的ndim属性返回数组的维度,如上面的data是个二维数组。
zeros和ones函数创建全0和全1的数组。
test1 = np.zeros(10) #表示创建一个10个元素的一维数组
test2 = np.zeros((2,2)) #表示创建一个二维数组
test3 = np.zeros((2,2,2)) #表示创建一个三维数组
zeros_like和ones_like函数,以另一个数组为参数,根据其形状创建一个全0或全1的数组。
比如上面的test4是一个内含15个元素的一维数组。
test5 = np.zeros(test4) #表示创建一个和test4一样的一维数组,由15个0组成
numpy中的arange函数是python内置函数range的数组版。
test4 = np.arange(15) #表示创建一个一维数组,由0~14组成
full函数有两个参数,参数一是数组形状,参数二是指定填充的数据。
test6 = np.full((2,2),3) #表示创建一个两行两列的数组,用3填充
eye函数生成对角数组,第一个参数和第二个参数表示数组规模,如eye(2,4)表示创建两行四列的数组,如果只输入第一个参数则默认第二个参数和第一个参数相同。第三个参数默认是0,表示从左上到右下的对角线用1填充,其余都是0,如果是k=2,表示左上第二条对角线(从0开始)用1填充,如果是负数,则从右下角算。
test7 = np.eye(2) #创建一个2*2的数组,左上到右下对角线用1填充
还有一个identity函数和eye相近,不过只能创建正方形数组
数组的数据类型
通过array创建数组时,通过dtype可以将数据设置为指定类型。
test = np.array([1,2,3,4,5,6]) #默认是int64
通过astype可以进行修改
test2 = test.astype(np.float64)