赞
踩
总有一些软件爱好者和开发者愿意贡献他们的劳动成果,这些贡献出来的python库实现了通用功能,比如统计计算,绘图等,越来越多的人贡献自己的知识完善这些库,以至于使python越来越强大。我们把这个群体叫做“开源社区”“开源贡献者”。
因此,我们需要导入第三方开发的python库,库也可叫做包,或者模块。
## math库用于数学运算
import math
math.sin(0)
math.sin(math.pi/2)
import math as m
m.sin(0)
from math import exp as e
e(2)
from math import *
exp(2)
sin(pi/2)
pip install ***
easy_install ***
conda install ***
# 安装numpy库
pip install numpy
Numpy专门用于数组和矩阵运算,它的高效主要因为两个因素:
(1) 用c语言编写,c语言接近系统底层,执行效率高
(2) numpy会安排一块地址连续的内存空间,内存寻址效率高
pip install numpy # 下载并安装numpy
conda install numpy # 同上
import numpy as np # 命名numpy为np
a = np.array([2,0,1,5]) # 创建数组
print(a) # 输出a
print(a[:3]) # 对a切片,输出前三个元素
print(a.min()) # 输出a中的最小元素
a.sort() # 对a的元素进行排序
b = np.array([[1,2,3],[4,5,6]]) # 创建二维数组
print(b*b) # 计算数组的元素平方
2. SciPy,
其实numpy的数组运算还不是真正的矩阵运算,因为如上面的例子,两个numpy数组相乘,其实只是对应元素乘积。SciPy则默认矩阵的运算规则。
# 求解非线性方程组 # 2x1 - x2^2 = 1 # x1^2 - x2 = 2 from scipy.optimize import fsolve def f(x): x1 = x[0] x2 = x[1] return [2*x1 - x2**2 - 1, x1**2 - x2 - 2] result = fsolve(f, [1,1]) print(result) # 定积分 from scipy import integrate def g(x): return (1-x**2)**0.5 # 被积函数 (1-x^2)^0.5 pi_2, err = integrate.quad(g, -1, 1) # pi_2是积分结果,err是误差 print(pi_2, pi_2*2)
3. Matplotlib,
matplotlib是python流行的可视化库。该库擅长二维图形。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,10,1000) y = np.sin(x) + 1 z = np.cos(x**2) + 1 plt.figure(figsize = (8,4)) plt.plot(x,y,label = '$\sin x+1$', color = 'red', linewidth = 2) plt.plot(x, z, 'b--', label = '$\cos x^2+1$') plt.xlabel('Time(s)') plt.ylabel('volt') plt.title('A Simple Example') plt.ylim(0,2.2) plt.legend() plt.show()
4. pandas,
pandas的命名来自于面板数据panel data和数据分析data analysis的组合。
AQR Capital Management公司在2008年开发成功,2009年开源。
pandas是数据分析的常用工具,但是我们未必能就记住所有命令,一旦有不清楚的功能,可以搜索百度或查阅相关工具书。
# 安装pandas pip install pandas # 安装excel读写工具库 pip install xlrd xlwt # 使用pandas import numpy as np import pandas as pd s = pd.Series([1,2,3], index = ['a','b','c']) # 序列s d = pd.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c']) # 数据框(表)d d2 = pd.DataFrame(s) # 转换s为数据框,保存到d2 d.head() d.describe() d.to_excel('data.xls') # 保存为xls文件 pd.read_excel('data.xls') # 读取xls文件 d.to_csv('data.csv') # 保存为csv pd.read_csv('data.csv') #读取csv
5. StatsModels,
statsmodel用于统计分析
# 进行时间序列的ADF平稳性检验
from statsmodels.tsa.stattools import adfuller as ADF # 导入ADF检验函数
import numpy as np
ADF(np.random.rand(100)) # 生成100个随机数数组,返回平稳性检验结果
6. scikit-learn,
简称sklearn,是机器学习的python库。大部分的机器学习任务都能用sklearn完成。
# 鸢尾花数据训练SVM模型 from sklearn import datasets # 导入sklearn自带数据集 iris = datasets.load_iris() # 鸢尾花数据集调用.load_iris(),保存为iris print(iris.data.shape) # 查看数据集大小 print(iris['target_names']) print(iris['feature_names']) #(150, 4) #['setosa' 'versicolor' 'virginica'] #['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] from sklearn import svm # 导入SVM随机向量机模型 clf = svm.LinearSVC() # 调用SVM线性分类器 clf.fit(iris.data, iris.target) # 训练模型 clf.predict([[5.0, 3.6, 1.3, 0.25]]) # 输入一组鸢尾花参数进行判断 #array([0])
7. keras
keras专门用于人工神经网络计算。现有的几个人工神经网络库有:pytorch,tensorflow,sklearn,theano
keras曾经与tensorflow合并,由于tensorflow库的模块调用比较混乱,导致了keras逐渐与tensorflow脱离依赖关系。
命名为:Python常用库_班级_学号_姓名.ipynb,可以发到我邮箱
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。