首页 > 其他分享 >读书报告

读书报告

时间:2023-12-17 22:23:52浏览次数:31  
标签:plt 函数 img 报告 image 读书 图像 np

《Python数据科学手册》中介绍了四个重要的数据科学库:NumPy、Pandas、Matplotlib和Scipy。

  1. NumPy

NumPy是Python中用于科学计算的基础包,提供了多维数组对象、各种派生对象(如掩码数组和矩阵)以及用于数组计算的各种例程。NumPy的核心功能是ndarray(N-dimensional array object),它是一个具有许多属性和方法的快速且灵活的容器。

常见函数:

  • np.zeros:创建指定长度或形状的全零数组;
  • np.ones:创建指定长度或形状的全一数组;
  • np.arange:创建等差数列数组;
  • np.random.rand:创建指定形状的随机数数组。
  1. Pandas

Pandas提供了两个主要的数据结构,Series和DataFrame。Series是一种一维的数组型对象,它包含了一个值序列(与NumPy中的ndarray类似)和一个与之相关的数据标签,称为索引。DataFrame是一个二维的表格型数据结构,它包含了一组有序的列,每列可以是不同的类型(数值、字符串、布尔值等)。

常见函数:

  • pd.read_csv:读取csv文件;
  • pd.concat:将两个DataFrame对象按照指定轴进行拼接;
  • df.groupby:按照指定条件进行分组。
  1. Matplotlib

Matplotlib是Python中最著名的绘图库之一,它提供了一套完整的绘图工具,可以在各种环境下生成出版物质量的图形。

常见函数:

  • plt.plot:绘制线条图;
  • plt.scatter:绘制散点图;
  • plt.hist:绘制直方图;
  • plt.bar:绘制条形图。
  1. Scipy

Scipy是Python的科学计算库,它基于NumPy扩展了许多操作。它包含了许多模块,用于优化、线性代数、积分、插值、特殊函数、快速傅里叶变换等等。

常见函数:

  • scipy.optimize.curve_fit:拟合函数;
  • scipy.linalg.solve:求解线性方程组;
  • scipy.integrate.quad:求解定积分。

例子:

使用Pandas和Matplotlib分析红酒数据集,找出哪些因素会影响红酒的品质评分。

首先读取数据集:

 
import pandas as pd
import matplotlib.pyplot as plt

# 读取数据集
url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv'
df = pd.read_csv(url, sep=';')

然后绘制品质评分与酒精含量之间的关系:

 
plt.scatter(df['alcohol'], df['quality'])
plt.xlabel('Alcohol')
plt.ylabel('Quality')
plt.show()

最后,使用Pandas的corr函数计算各个因素之间的相关性:

 
corr = df.corr()
print(corr['quality'].sort_values(ascending=False))

输出结果:

 
quality                 1.000000
alcohol                 0.476166
sulphates               0.251397
citric acid             0.226373
volatile acidity       -0.390558
total sulfur dioxide   -0.470029
density                -0.494588
chlorides              -0.128907
free sulfur dioxide    -0.050656
pH                     -0.057731
fixed acidity          -0.076743
residual sugar         -0.097577
Name: quality, dtype: float64

可以看出,酒精含量、硫酸盐和柠檬酸都对红酒的品质评分有影响。

 

Matplotlib是一个强大的绘图库,可以用于图像处理中的可视化和图像操作。以下是一些常见的使用Matplotlib进行图像处理的示例:

  1. 显示图像:
 
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

# 读取图像
img = mpimg.imread('image.jpg')

# 显示图像
plt.imshow(img)
plt.axis('off')  # 关闭坐标轴
plt.show()
  1. 调整亮度和对比度:
 
import numpy as np

# 调整亮度和对比度的函数
def adjust_brightness_contrast(img, brightness, contrast):
    adjusted_img = img * (contrast / 255.0) + brightness
    return np.clip(adjusted_img, 0, 1)

# 调整亮度和对比度
adjusted_img = adjust_brightness_contrast(img, 50, 1.5)

# 显示调整后的图像
plt.imshow(adjusted_img)
plt.axis('off')
plt.show()
  1. 图像旋转和翻转:
 
# 图像旋转函数
def rotate_image(img, angle):
    rotated_img = np.rot90(img, angle)
    return rotated_img

# 图像翻转函数
def flip_image(img, flip_direction):
    flipped_img = np.flip(img, flip_direction)
    return flipped_img

# 旋转图像
rotated_img = rotate_image(img, 90)

# 翻转图像
flipped_img = flip_image(img, 1)

# 显示旋转和翻转后的图像
plt.subplot(121)
plt.imshow(rotated_img)
plt.axis('off')
plt.subplot(122)
plt.imshow(flipped_img)
plt.axis('off')
plt.show()
  1. 图像缩放和裁剪:
 
import cv2

# 图像缩放函数
def resize_image(img, scale_percent):
    width = int(img.shape[1] * scale_percent / 100)
    height = int(img.shape[0] * scale_percent / 100)
    dim = (width, height)
    resized_img = cv2.resize(img, dim, interpolation=cv2.INTER_LINEAR)
    return resized_img

# 图像裁剪函数
def crop_image(img, x, y, width, height):
    cropped_img = img[y:y+height, x:x+width]
    return cropped_img

# 缩放图像
resized_img = resize_image(img, 50)

# 裁剪图像
cropped_img = crop_image(img, 100, 100, 200, 200)

# 显示缩放和裁剪后的图像
plt.subplot(121)
plt.imshow(resized_img)
plt.axis('off')
plt.subplot(122)
plt.imshow(cropped_img)
plt.axis('off')
plt.show()

标签:plt,函数,img,报告,image,读书,图像,np
From: https://www.cnblogs.com/wqx3121343019/p/17909964.html

相关文章

  • 《需求分析与系统设计》读书笔记2
      第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求。需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视......
  • 第16周训练报告
    周一前缀和与差分差分-加固文明幻景-博客园(cnblogs.com)P8218【深进1.例1】求区间和P1719最大加权矩形P1314[NOIP2011提高组]聪明的质监员P2367语文成绩P3397地毯P1955[NOI2015]程序自动分析CodeforcesRound804(Div.2)VPCodeforcesRound804(Di......
  • 【Kaggle】AAAMLP读书笔记 Cat-in-the-dat II (优化)
    本人希望从0开始,自己的Kaggle竞赛12月拿到自己的第一块Kaggle奖牌短期内读完AbhishekThakur的Approaching(Almost)AnyMachineLearningProblem并且发博客记录https://github.com/abhishekkrthakur/approachingalmost12月至少发21篇博客每天保持八小时的学习时间Approachingca......
  • 2023年读书计划
    2023年读书计划2022年我读了几本书,这些书大部分是从图书馆借的,我自己买的书反而没读,或许这就是古人说的“书非借不能读也”吧。2023年马上来到,我根据自己的实际情况制定如下计划,为了逼迫自己学习,我公布自己的计划,接受朋友圈亲人和广大网友的监督。一、Java虚拟机JVM故障诊断......
  • numpy、scipy、pandas、matplotlib的读书报告
    基本函数的用法numpynumpy是Python中用于进行科学计算的基础模块,它提供了高效的多维数组对象ndarray,以及相关的数学运算和线性代数函数。numpy的主要功能有:创建和操作多维数组,如使用np.array(),np.arange(),np.zeros(),np.ones(),np.reshape()等函数。对数组进行索引和切片,如使用......
  • 渗透测试实验报告一
    1. 实验目的和要求实验目的:理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。系统环境:KaliLinux2、Windows网络环境:交换网络结构2.实验步骤 1:利用Google语法搜索site:mit.eduinti......
  • 程序员的思维修炼 读书笔记02
    第三章认识你的大脑R型对直觉,问题解决和创造性非常重要,L型让你细致工作并实现目标。人类具有超强的感知能力,其中许多无法有效地用语言表达。例如,你可以立刻认出大量熟悉的人的面孔,无论他们是否改变了发型、穿着,或者肥了10磅,还是过了20年。但是,尝试描述你最亲密爱人的脸庞,你......
  • numpy、scipy、pandas、matplotlib读书报告
    一,基本函数的用法NumPy(NumericalPython):NumPy是Python中用于科学计算的基础包。它提供了多维数组对象(例如ndarray)、用于数组操作的各种函数以及线性代数、傅里叶变换和随机数生成等功能。NumPy的主要优势在于其高效的数组处理能力,使得数据处理变得更快速、更简单。它为用户......
  • 2023-2024-1 20231422 《计算机基础与程序设计》第十二周总结报告
    这个作业属于哪个课程2023-2024-计算机基础与程序设计这个作业要求在哪里2023-2024-计算机基础与程序设计这个作业的目标《C语言程序设计》第11章并完成云班课测试作业正文(https://www.cnblogs.com/Augenstern4545/p/17909531.html)教材学习内容总结学习指......
  • 读书笔记
     1.有基本函数的用法 Numpy: 来存储和处理大型矩阵,比Python自身的嵌套列表(nestedliststructure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。 Pandas: 基于NumPy的一种工具,该工具是......