Python模块汇总(常用第三方库)
Python拥有丰富的第三方库,这些库提供了各种各样的功能,包括网络编程、数据处理、图像处理、机器学习等等。以下是一些常用的第三方库汇总。
网络编程
requests
requests
是一个HTTP请求库,使用简单,功能强大。使用requests
可以轻松实现HTTP请求、下载文件、处理cookie、设置代理等操作。
示例代码:
import requests
# 发起GET请求
response = requests.get('https://www.baidu.com')
# 获取响应文本
content = response.text
print(content)
socket
socket
是一个底层的网络编程库,可以实现基于TCP或UDP的客户端/服务器通信。使用socket
可以自由配置IP地址、端口号等参数,实现自定义的网络编程方案。
示例代码:
import socket
# 创建TCP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_addr = ('127.0.0.1', 8888)
client_socket.connect(server_addr)
# 发送数据
data = 'hello'
client_socket.sendall(data.encode())
# 接收响应
response = client_socket.recv(1024)
print(response.decode())
# 关闭套接字
client_socket.close()
数据处理
pandas
pandas
是一种面向数据分析的库,提供了高性能、易于使用的数据结构和数据分析工具。使用pandas
可以轻松实现数据读取、数据清洗、数据操作、数据可视化等操作,是数据科学家的首选库之一。
示例代码:
import pandas as pd
# 读取CSV文件
path = 'data.csv'
df = pd.read_csv(path)
# 数据清洗
df = df.dropna()
# 数据统计
mean = df['age'].mean()
print('平均年龄:', mean)
# 数据可视化
df.plot(kind='bar', x='name', y='age')
numpy
numpy
是一个高性能的科学计算库,主要用于处理多维数组。使用numpy
可以轻松实现数据计算、线性代数、随机数生成等操作。
示例代码:
import numpy as np
# 创建数组
arr = np.array([[1, 2], [3, 4]])
# 数组计算
sum = np.sum(arr)
mean = np.mean(arr)
# 矩阵计算
mat = np.mat([[1, 2], [3, 4]])
inv_mat = np.linalg.inv(mat)
图像处理
PIL
PIL
是Python的一种图像处理库,支持多种图像格式,包括JPEG、PNG、BMP、GIF等。使用PIL
可以轻松实现图像读取、图像处理、图像转换等操作。
示例代码:
from PIL import Image
# 读取图片
img = Image.open('img.jpg')
# 图像处理
gray = img.convert('L')
resize = img.resize((200, 200))
# 图像保存
gray.save('gray.jpg')
resize.save('resize.jpg')
opencv
opencv
是一个开源的计算机视觉库,包含了众多图像处理和计算机视觉的算法和函数。使用opencv
可以轻松实现图像读取、图像处理、图像特征提取等操作,是计算机视觉工程师的首选库之一。
示例代码:
import cv2
# 读取图片
img = cv2.imread('img.jpg')
# 图像处理
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
resize = cv2.resize(img, (200, 200))
# 图像保存
cv2.imwrite('gray.jpg', gray)
cv2.imwrite('resize.jpg', resize)
机器学习
scikit-learn
scikit-learn
是Python的一个机器学习库,提供了丰富的机器学习算法和数据预处理工具。使用scikit-learn
可以轻松实现分类、回归、聚类等机器学习任务,是入门机器学习的首选库之一。
示例代码:
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 加载数据集
iris = datasets.load_iris()
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.3)
# 构建KNN分类器
classifier = KNeighborsClassifier()
# 拟合模型
classifier.fit(X_train, y_train)
# 预测结果
y_pred = classifier.predict(X_test)
# 计算准确率
accuracy = sum(y_pred == y_test) / len(y_test)
print('准确率:', accuracy)
tensorflow
tensorflow
是Google开发的一个机器学习框架,支持多种深度学习算法和计算图定义方式。使用tensorflow
可以轻松实现神经网络训练、模型调优等操作,是深度学习工程师的首选库之一。
示例代码:
import tensorflow as tf
# 定义计算图
x = tf.placeholder(tf.float32, [None, 784])
y = tf.placeholder(tf.float32, [None, 10])
w = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
predict = tf.matmul(x, w) + b
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=y, logits=predict))
train = tf.train.GradientDescentOptimizer(0.5).minimize(loss)
# 训练模型
mnist = tf.keras.datasets.mnist
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(-1, 784) / 255.0
y_train = tf.keras.utils.to_categorical(y_train, num_classes=10)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for step in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train, feed_dict={x: batch_xs, y: batch_ys})
accuracy = sess.run(tf.reduce_mean(tf.cast(tf.equal(tf.argmax(y_test, 1), tf.argmax(predict, 1)), tf.float32)))
print('准确率:', accuracy)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python模块汇总(常用第三方库) - Python技术站