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

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  # 解决负号显示问题

最终展示情况:

相关文章:

  • 什么是空值合并运算符[Nullish coalescing operator](??)?
  • Spark与Hadoop之间的联系和对比
  • 什么是负载均衡?NGINX是如何实现负载均衡的?
  • 超越Dify工作流:如何通过修改QwenAgent的Function Call及ReAct方法实现对日期时间的高效意图识别
  • kotlin的kmp编程中遇到Unresolved reference ‘java‘问题
  • 安宝特案例 | AR如何大幅提升IC封装厂检测效率?
  • 《开源大模型选型全攻略:开启智能应用新征程》
  • pod 创建私有库指南
  • TDengine 查询引擎设计
  • 深度学习4月22笔记
  • 【Spring】单例作用域下多次访问同一个接口
  • iostat指令介绍
  • go-Casbin使用
  • 游戏引擎学习第239天:通过 OpenGL 渲染游戏
  • Unity Paint In 3D 入门
  • Python线程全面详解:从基础概念到高级应用
  • 鸿蒙生态新利器:华为ArkUI-X混合开发框架深度解析
  • android contentProvider 踩坑日记
  • uniapp 上传二进制流图片
  • 鸿蒙生态:鸿蒙生态校园行心得
  • 中国英国商会政府事务主席陶克瑞:重庆经济成就瞩目,中英合作机遇无限
  • 大理杨徐邱上诉案开庭:当事人称曾接受过两次测谎测试
  • 包邮到高原,跨越4083公里送妈妈一张按摩椅
  • 日本首相石破茂向靖国神社献祭品
  • 深一度|上海半马,展示“体育+”无限可能的路跑狂欢
  • 两岸基层民生发展交流会在浙江开幕