Python常用库:掌握这些库,轻松提升你的编程能力!

首先先了解

1. python库的导入
2. 数据分析常用python库:
    1. Numpy,
    2. SciPy,
    3. Matplotlib,
    4. pandas,
    5. StatsModels,
    6. scikit-learn,
    7. keras

一、python库的导入

总有一些软件爱好者和开发者愿意贡献他们的劳动成果,这些贡献出来的python库实现了通用功能,比如统计计算,绘图等,越来越多的人贡献自己的知识完善这些库,以至于使python越来越强大。我们把这个群体叫做“开源社区”“开源贡献者”。

因此,我们需要导入第三方开发的python库,库也可叫做包,或者模块。

python资料、源码、教程皆可点击文章获取此处跳转

1. import语句用于导入python
## math库用于数学运算
import math
math.sin(0)
math.sin(math.pi/2)

2. 自定义库的名称
import math as m
m.sin(0)
3. 导入库中的特定函数
from math import exp as e
e(2)
4. 导入库中的所有函数
from math import *
exp(2)
sin(pi/2)
5. 第三方库的下载安装
pip install

easy_install 

conda install 

# 安装numpy库
pip install numpy

二、数据分析常用python库

1. Numpy

由于python没有自带的数组类型,如果用列表list处理数组和矩阵,运算效率很低。

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方面的知识,这边也有准备一些相关学习资料,Python的学习路线图、电子书、课程源码、素材、接单流程等其他。

本文模块\环境\源码\教程皆可点击此处跳转免费领

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 樵夫教你学Python,这是一个有趣而有挑战的过程。Python是一种高级编程语言,它简洁易学,适合初学者入门。下面我将分享一些学习Python的经验和建议。 首先,了解Python的基本概念和语法规则是很重要的。你可以通过阅读相关的教程和参考书籍,或者参加在线课程来掌握Python的基础知识。樵夫可以为你提供一些建议的学习资源。 其次,实践是学习Python的关键。你可以选择一些小项目来练习编程,比如编一个简单的计算器程序或者制作一个文字游戏。通过实际动手去编代码,你才能真正理解Python的工作原理和应用方式。樵夫可以与你分享一些练习和项目的示例。 另外,参与到Python社区中也是很有帮助的。加入一些Python的讨论组、论坛或者社交媒体群组,与其他Python爱好者交流经验和问题。这样你可以学习到更多的编码技巧和解决问题的方法,还能够扩大你的人际网络。樵夫可以介绍你一些Python社区的链接。 此外,坚持不懈和持续学习是学好Python的关键。编程是个长期的过程,需要耐心和毅力。学习Python并不是一蹴而就的事情,你需要不断地进行练习和挑战自己,才能不断提升你的编程能力。樵夫可以为你提供一些学习进阶的建议和资源。 最后,不要忘记享受学习Python的过程。编程可以给你带来很多乐趣和成就感。樵夫鼓励你保持积极的学习态度,不论遇到什么困难都不要气馁,相信自己的能力,相信你能够掌握Python编程的技巧。 学习Python需要时间和努力,但只要你有决心和坚持,你一定能够成为一名优秀的Python程序员。樵夫祝愿你在学习Python的旅程中取得成功! ### 回答2: 樵夫是个喜欢探索的人,他热情地教我学习Python编程语言。首先,他向我解释了为什么Python是一个很受欢迎的编程语言Python是一种易于学习语言,具有简洁明了的语法结构,能够帮助我快速入门编程。 樵夫告诉我,学习Python的第一步是安装Python解释器。Python解释器是一种将Python代码翻译成计算机可以理解的指令的工具。他指导我从Python官方网站下载并安装最新版本的Python解释器。 接下来,樵夫帮助我了解Python的基本语法。他教我如何定义变量、使用赋值语句、编条件语句和循环结构等。他强调了程序设计中的“缩进”规则,这是Python独特的语法特性,它强迫程序员更加注重代码的可读性。 樵夫还介绍了Python的内置函数和常用模块。他向我展示了如何使用内置函数来处理字符串、数字和列表等数据类型。他还向我推荐了一些常用模块,如math、random和datetime模块,这些模块可以帮助我在编程中更加灵活和高效地处理各种任务。 此外,樵夫强调了编程的实践重要性。他给我提供了一些简单的练习题,鼓励我不断动手实践。他说,通过积极实践,我可以更好地理解Python的概念和技巧,并培养自己的编程能力。 通过樵夫的指导和帮助,我逐渐掌握Python编程的基础知识。我很感激樵夫的悉心教导,他的耐心和热情让我对Python编程产生了浓厚的兴趣。我相信,在他的指引下,我将能够不断学习和进步,成为一名优秀的Python程序员。 ### 回答3: 樵夫是一个会编程的樵夫。他知道许多编程语言,其中包括PythonPython是一种高级编程语言,用于开发各种软件和应用程序。 首先,他会告诉你Python的基础知识。Python有简单易读的语法,容易学习和理解。你可以使用Python来创建变量、定义函数和类,编条件语句和循环等。 他还会向你介绍Python的一些重要的和模块。Python有许多强大的和模块,可以帮助你简化编程任务。比如,NumPy用于数值计算,Pandas用于数据处理,Matplotlib用于数据可视化等。 另外,他还会教你如何使用Python进行文件的读和操作。Python可以轻松地读取和入文本文件、CSV文件和Excel文件等。这对于处理大量数据和进行数据分析非常有用。 樵夫还会帮助你了解Python的面向对象编程特性。面向对象编程是一种将问题分解为对象、类和方法的编程方法。Python支持面向对象编程,可以让程序结构更清晰,代码更可维护和复用。 最后,樵夫会鼓励你多动手实践。编程是一种实践性很强的技能,通过编代码来解决实际问题,你才能更好地理解和掌握Python。他会给你一些练习题和项目,帮助你提高编程能力。 总之,樵夫会逐步教你学习Python的基础知识和重要技能,让你能够用Python来解决问题和开发应用程序。记住,学习编程需要坚持和实践,相信自己,你一定能够学好Python

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值