当前位置: 首页 > ai >正文

Python常用的第三方模块之数据分析【pdfplumber库、Numpy库、Pandas库、Matplotlib库】

【pdfplumber库】从PDF文件中读取内容 

import pdfplumber
#打开PDF文件
with pdfplumber.open('DeepSeek从入门到精通(20250204).pdf') as pdf:for i in pdf.pages: #遍历页print(i.extract_text()) #extract_text()方法提取内容print(f'----------------第{i.page_number}页结束')

【Numpy库】数据分析处理数据、矩阵等数据

示例:图像的灰度处理

import numpy as np
import matplotlib.pyplot as plt
#读取图片
n1=plt.imread('Google.jpg')
print(type(n1),n1) #数组,三位数组,最高纬度表示的是图像的高,次高纬度表示的是图像的宽,最低纬度[R,G,B]颜色
plt.imshow(n1)#编写一个灰度的公式
n2=np.array([0.299,0.587,0.114]) #创建数组
#将数组n1(RGB)颜色值与数组n2(灰度公式固定值),进行点乘运算
x=np.dot(n1,n2)
#传入数组,显示灰度
plt.imshow(x,cmap='gray')
#显示图像
plt.show()

【Pandas库】数据分析、读取Excel

示例:利用Pandas库读取Excel

import pandas as pd
import matplotlib.pyplot as plt#Pandas库:数据分析、读取Excel;Matplotlib库:数据可视化,绘制饼图、柱形图、折线图等#读取Excel文件
df=pd.read_excel('商品商品_20241212115850.xls', dtype=object)  #dtype指定类型,解决pandas“读取整数带小数点”问题
print('读取Excel文件如下:')
print(df)

控制台Exce文件显示不全问题

解决方案:读取Excel文件前,添加以下代码

#pd.set_option()进行设置解决显示不全问题
# 显示全部列
pd.set_option('display.max_columns', None)
# 显示全部行
pd.set_option('display.max_row', None)
# 设置数据的显示长度(解决自动换行)
pd.set_option('display.width', None)

  

 【Matplotlib库】数据可视化,绘制饼图、柱形图、折线图等

示例:利用Matplotlib库绘制饼图

import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
# Pandas库:数据分析、读取Excel;Matplotlib库:数据可视化,绘制饼图、柱形图、折线图等
#pd.set_option()进行设置解决显示不全问题
# 显示全部列
pd.set_option('display.max_columns', None)
# 显示全部行
pd.set_option('display.max_row', None)
# 设置数据的显示长度(解决自动换行)
pd.set_option('display.width', None)#读取Excel文件
df=pd.read_excel('商品商品_20241212115850.xls', dtype=object)  #dtype指定类型,解决pandas“读取整数带小数点”问题
print('读取Excel文件如下:')
print(df)#设置画布的大小
plt.figure(figsize=(10,6))
goodsName=df['商品名称']
stock=df['实际可销售库存数']
print(goodsName)
print(stock)#绘制饼图
plt.pie(stock,labels=goodsName,autopct='%1.1f%%',startangle=90) #labels就是扇形当中所的标签,autopct是设置饼图每个部分所占比例,%1.1f%%保留一位小数的百分比格式,角度startangle(可提供可不提供,提供了饼图会比较漂亮)#设置x,y轴刻度
plt.axis('equal')
plt.title('4月份商品剩余库存占比图')#显示出来
plt.show()

中文乱码问题 

解决方案:读取Excel文件后,添加以下代码:

#解决matplotlib画图中文乱码问题
#1.下载中文字体SimHei,下载链接:http://139.199.170.86/downloads/SimHei.ttf
#2.安装SimHei字体到macOS,双击下载的字体文件,然后点击“安装字体”按钮。
#3.找到Matplotlib的字体目录
print('Matplotlib的字体目录:',mpl.get_data_path())
#4.找到Matplotlib的缓存目录
print('Matplotlib的缓存目录:',mpl.get_cachedir()) #/Users/用户名/.matplotlib
#5.终端删除这个缓存文件夹:rm -rf rm -rf /Users/用户名/.matplotlib/*#6.Python脚本中配置Matplotlib使用新字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体为SimHei
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

最终展示情况:

http://www.xdnf.cn/news/1002.html

相关文章:

  • Docker 部署 Redis 缓存服务
  • 路由器转发规则设置方法步骤,内网服务器端口怎么让异地连接访问的实现
  • 一键配置多用户VNC远程桌面:自动化脚本详解
  • linux下使用wireshark捕捉snmp报文
  • 开源状态机引擎,在实战中可以放心使用
  • 15.QT-容器类控件|Group Box|Tab Widget|垂直布局|水平布局|网格布局|表单布局|Spacer(C++)
  • Idea 配置 Git
  • Uniapp:swiper(滑块视图容器)
  • 如何将Qt程序打包成应用程序?
  • 流程执行松散,如何强化规范?
  • 【Linux内核设计与实现】第三章——进程管理01
  • 信奥中的数学
  • 构建企业级知识图谱:JanusGraph与Gremlin实战指南
  • C++入门小馆: 深入string类(二)
  • SpringAI入门示例
  • CmStick CmStick ME|精工品质与工业级安全的加密狗之选[特殊字符][特殊字符]
  • 【踩坑tip】解决两个一样的USB设备插入后第二个识别失败的问题
  • 使用Mybaitis-plus提供的各种的免写SQL的Wrapper的使用方式
  • 【C++教程】%lf和%f的区别
  • C++算法(10):二叉树的高度与深度,(C++代码实战)
  • RabbitMQ常见面试题回答重点
  • HAL库(STM32CubeMX)——高级ADC学习、HRTIM(STM32G474RBT6)
  • 如何在邮件主题行中巧妙融入品牌特色?
  • 精准评估机器学习模型:从混淆矩阵到核心指标的深度解析+面试常见问题及解析(看这篇就够了)
  • 海事局发布《船舶智能监控系统技术指南(1.0)》,解读智驱力产品为何成为最佳选择!
  • 外键与多表关联查询
  • python-68-时间戳不一致的时间序列的可视化展示
  • 考研单词笔记 2025.04.21
  • Cpp实现window上cmd执行效果
  • 七种驱动器综合对比——《器件手册--驱动器》