科学计算库——Numpy
1.主要对象是同质多维数组
2.数组的维度被称为轴(axes)、轴的数量称为秩(rank) 数组的维数就是秩
对于ndarray(简称array),其对象属性有很多
eg:shape — 数组的维度,对一个n行m列的矩阵,shape就是(n,m)的元组
   T — 转置 、 itemsize — 数组中每个元素的大小(单位:字节) 
ndim — 轴(维度)的数量  、 real — 返回数组的实部 / imag — 返回虚部 
写的时候没有括号
格式转换:np.array(5,dtype = int)  / np.array(5).astype(float)
3.创建矩阵
ones(shape,dtype)  全1  shape可写成(n,m)
zeros(shape,dtype) 全0
eye(N, M, k, dtype)   N:行数 、M:列数(默认等于N) 、k:可选对角线序列号(默认为0 主对角线)
identity(n,dtype)  — n维单位方阵
4.矩阵运算
numpy.linalg 
求逆矩阵
求方程组精确解
求特征值和特征向量
求行列式值
奇异值分解
线性方程组的最小二乘解
科学计算库——Scipy
数据分析库——Pandas
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)
pandas.Series( data, index, dtype, name, copy)pandas.DataFrame( data, index, columns, dtype, copy)
我们可以使用 key/value 对象,类似字典来创建 Series:
import pandas as pdsites = {1: "Google", 2: "Runoob", 3: "Wiki"} #指定新的索引值myvar = pd.Series(sites)print(myvar)
用不同方式创建DataFrame:
#使用列表创建import pandas as pddata = [['Google',10],['Runoob',12],['Wiki',13]]df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)print(df)#使用 ndarrays 创建import pandas as pddata = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}df = pd.DataFrame(data)print (df)#使用字典创建import pandas as pddata = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]df = pd.DataFrame(data)print (df)# 返回第一行数据print(df.loc[0])# 返回第二行数据print(df.loc[1])# 返回第一行和第二行print(df.loc[[0, 1]])df = pd.DataFrame(data, index = ["day1", "day2", "day3"]) #指定新的索引值

常用函数:
#读写csv文件#写入df.to_csv(filename)#读取pd.read_csv(filename,header=0) #保留列属性,header=None不读列属性#选择行或列df.loc[3] #第四行df.loc[:,3] #第四列df.loc[3:5,0:2] #第四到六行,第一到三列df.loc[[4,5,6],[0,1,2]] #第四到六行,第一到三列#统计df.describe() #描述df.head() #头五行df.tail() #尾五行df.T #转置df.sort(columns=’B’) #对轴进行排序df.mean() #对每列求均值 通过axis=0/1 确定行列#映射df.apply(function) #通过自定义函数,应用于df中eg: df.apply(lambda x:x.max()-x.min()) #求得每列最大减最小,通过axis=1 进行行操作#合并pd.concat(list) #list各元素为各个DateFrameeg: pieces = [df[:3],df[3:6],df[6]]pd.concat(pieces)
