古之成大事者,不惟有超士之才,亦唯有坚韧不拔之志

Python中几个重要的库

《Python中几个重要的库》

NumPy(Numerical Python)

  1. 快速高效的多维数组对象ndarray
  2. 用于对数组执行元素级计算以及直接对数组执行数学运算的函数
  3. 线性代数运算、傅里叶变换,以及随机数生成
  4. 用于将C、C++,Fortran代码集成到Python的工具

实例代码:

import numpy as np

a=np.array([2,0,1,5])
print (a)
print (a[:3])
print (a.min())
a.sort()
b=np.array([[1,2,3],[4,5,6]])
print (a*b)

pandas

兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库灵活的数据处理功能。他提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块,聚合以及选取数据子集等操作。

示例代码:

import pandas as pd

s =pd.Series([1,2,3],index=['a','b','c'])
d =pd.DataFrame([[1,2,3],[4,5,6]],columns=['a','b','c'])
d2=pd.DataFrame(s)

d.head()
d.describe()

pd.read_excel('data.xlsx')
pd.read_csv('data.csv',encoding='utf-8')

matplotlib

用于绘制数据图表的Python库,非常是和创建出版物上用的图表。它跟ipython结合的很好,提供了一种交互式数据绘图环境,绘制的图表也是交互式的,可以利用绘图窗口中的工具栏放大图表中的某个区域或对整个图表进行平移浏览。

示例代码:

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,10,100)
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=20)
plt.plot(x,z,'b--',label='$\cos x^2+1$',color='green')
plt.xlabel('Time(s)')
plt.ylabel('Volt')
plt.title('A simple Example')
plt.ylim(0,2.2)
plt.legend()
plt.show()

Scipy

一组专门解决科学计算中各种标准问题域的包的集合,主要包括下面:
1.scipy.integrate:数值积分例程和微分方程求解器
2.scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能
3.scipy.optimize:函数优化器以及根查找算法
4.scipy.signal:信号处理工具
5.scipy.sparse:稀疏矩阵和稀疏线性系统求解器
6.scipy.special:SPECFUN用于实现许多常用数学函数(如伽马函数)的的fortran的包装器
7.scipy.stats:标准连续和离散概率分布(如密度函数,采样器,连续分布函数),各种统计检验方法,和更好的描述统计法
8.scipy.weave:利用内联C++代码加速数组计算的工具

实例代码:

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
pi_2,err=integrate.quad(g,-1,1)
print (pi_2 * 2)

Scokit-Learn + Keras

第一个为机器学习相关的库,第二个为人工神经网络模型。这两种库以后可以慢慢研究。

最后,小主的知乎专栏:爱做数据分析的PM   

点赞
  1. leif说道:

    :biggrin: 哈喽

发表评论

电子邮件地址不会被公开。 必填项已用*标注