有用的包 #Python

news/2025/11/25 21:21:47/文章来源:https://www.cnblogs.com/tiome/p/19270118

整理一点有用的包,持续更新中~

pandas

数据处理神器,一维、二维数据,安装命令pip install pandas

读取文件
import pandas as pd
df = pd.read_csv("data.csv")          # 读取 CSV 文件
df = pd.read_excel("data.xlsx")      # 读取 Excel 文件(默认第一张表)
df = pd.read_json("data.json")       # 读取 JSON 文件
df = pd.read_sql(sql, conn)         # 从数据库读取(需要已有连接 conn)
写文件
import pandas as pd
df.to_csv("out.csv", index=False)     # 保存为 CSV,不保存行索引
df.to_excel("out.xlsx", index=False)  # 保存为 Excel
df.to_json("out.json", orient="records", force_ascii=False)  # 保存为 JSON,支持中文
查看数据
import pandas as pd
df.head(5)        # 查看前 5 行,默认 head() 是前 5 行
df.tail(5)        # 查看后 5 行
df.shape          # (行数, 列数)
df.columns        # 列名索引
df.dtypes         # 每一列的数据类型
df.info()         # 表结构概览(行数、列数、缺失值、类型等)
df.describe()     # 数值列的基本统计信息(均值、标准差、分位数等)
索引与切片
import pandas as pd
df["col"]                 # 选一列,返回 Series
df[["col1", "col2"]]      # 选多列,返回 DataFramedf.iloc[0]                # 第 0 行
df.iloc[0:5]              # 第 0~4 行
df.iloc[:, 0:3]           # 所有行,第 0~2 列
df.iloc[0:5, 1:3]         # 第 0~4 行,第 1~2 列df.loc[0]                       # index 为 0 的那一行
df.loc[0:10, ["col1", "col2"]]  # index 0~10 行,列为 col1、col2
df.loc[df["age"] > 30, :]       # 条件筛选:age > 30 的所有列
修改列
import pandas as pd
df["gender"] = df["gender"].replace({"M": "男", "F": "女"}) # 替换某一列值
缺失值处理
import pandas as pd
df.isna()                 # 返回布尔表,标记是否为缺失
df.isna().sum()           # 每一列缺失值数量
df.dropna()               # 删除包含缺失值的行
df.dropna(subset=["col"]) # 仅根据某一列判断是否删除行
df.fillna(0)              # 把缺失值填成 0
df["col"].fillna(df["col"].mean(), inplace=True)  # 用该列均值填充
去重/排序
import pandas as pd
df.drop_duplicates()                      # 删除完全相同的重复行
df.drop_duplicates(subset=["uid"])        # 按某几列去重df.sort_values("age")                     # 按 age 升序排序
df.sort_values("age", ascending=False)    # 按 age 降序
df.sort_values(["age", "score"], ascending=[True, False])  # 多列排序
重命名/重置索引
import pandas as pd
df.rename(columns={"old_name": "new_name"}, inplace=True)  # 改列名df.reset_index(drop=True, inplace=True)    # 重置索引,丢掉旧索引
df.set_index("唯一病案标识", inplace=True)  # 把某列设为行索引
字符串处理
import pandas as pd
df["name"].str.lower()           # 全小写
df["name"].str.upper()           # 全大写
df["name"].str.strip()           # 去掉首尾空格
df["name"].str.contains("心梗")  # 判断是否包含子串# 分割字符串到多列
df["full"].str.split("-", expand=True)
时间日期处理
import pandas as pd
df["date"] = pd.to_datetime(df["date"])         # 字符串转时间类型
df["year"] = df["date"].dt.year                 # 年
df["month"] = df["date"].dt.month               # 月
df["day"] = df["date"].dt.day                   # 日df.set_index("date", inplace=True)              # 把日期设为索引
df.resample("D").sum()                          # 按天重采样
df.resample("M").mean()                         # 按月求平均

pdfminer.six

可以从pdf中提取纯文本,安装命令pip install pdfminer.six
pdfminer.six:更底层,能拿到 更详细的布局和字体信息。配置稍微复杂一点,但更灵活。
PyPDF2:偏向于拆分/合并/旋转 PDF 文件,文本提取较简单
pdfplumber:基于 pdfminer.six 封装的更好用的高级库,特别适合提表格

提取pdf中的文字
from pdfminer.high_level import extract_text
text = extract_text("example.pdf")   # 返回整个 PDF 的文本字符串text = extract_text("example.pdf",page_numbers=[0, 1],   # 指定页码(从 0 开始)maxpages=2,            # 最多读取多少页password="",           # 有密码的 PDF 时用
)
按页面布局,拿到布局结构
from pdfminer.high_level import extract_pages
from pdfminer.layout import LTTextContainerfor page_layout in extract_pages("example.pdf"):for element in page_layout:if isinstance(element, LTTextContainer):print(element.get_text())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/976493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python稳定ABI未来发展与接口机制详解

本文详细探讨了Python稳定ABI的未来发展方向,包括新的abi2026标准、运行时ABI发现机制、接口API设计等核心技术内容,旨在解决自由线程构建与GIL构建的兼容性问题,为扩展模块开发者提供长期稳定的二进制接口解决方案…

2025 人事管理工具选型:不同方案优劣势测评,中小企业闭眼抄作业

又到年底做预算的时候了,很多企业主和HR负责人开始头疼一个问题:明年该用哪套人事管理系统? 市面上产品这么多,从用友、金蝶这些老牌厂商到钉钉、企业微信这类办公平台,价格从几千到几十万,功能看起来都差不多,…

NOIP2025游记/OI生涯回忆

其实去年这个时候写过一个,但是那更像是一个 CSP 考挂之后的宣泄吧,这次认真写一个,起码能在记忆里回到从前。 2021 7 月份的时候去 dsfz 的 C 层集训,当时水平很菜,记得模拟赛的前几题是奥数题,然后可能有一半都…

2025年大众途观L更换轮胎推荐:五大专业品牌最新推荐

2025年大众途观L更换轮胎推荐:五大专业品牌最新推荐为解决用户在“大众途观L更换轮胎推荐”上的选择难题,本文将基于全球主流汽车媒体(如《AutoBild》、汽车之家等)的公开评测模型与数据,从以下四大核心维度,对市…

详细介绍:Python之aedev-setup-project包语法、参数和实际应用案例

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

树上背包优化

树上背包优化 树形背包 这道题卡 nw 背景 这是在上课的时候打的,就长话短说。这道题其实我还是不是很明白,不过如果是刷表的方式的话,代码虽然常数会大一点但胜在易于理解。 但如果是打表,它是从孩子向父亲或者兄弟…

2025年11月十大效果图公司客观评价:详实数据构建的推荐榜单

作为建筑、地产及相关行业从业者,在选择效果图服务供应商时往往面临诸多挑战。无论是建筑设计院需要呈现方案细节,开发商需进行项目预售展示,还是会展公司要完成视觉包装,高质量的效果图已成为项目沟通与决策的重要…

2025年11月十大效果图公司推荐榜单:用户口碑评价与性能参数对比

作为建筑、地产及相关行业从业者,在选择效果图公司时往往面临诸多挑战。无论是建筑师需要精准呈现设计理念,还是开发商要求高质量视觉营销材料,抑或政府部门寻求城市发展规划展示,专业的效果图服务都成为项目成功的…

Tarjan算法总结

强联通分量点击查看代码 #include<bits/stdc++.h>using namespace std;int n,m; vector<int> e[10005];int dfn[10005],low[10005],timtp; int stk[10005],stktp; bool instk[10005]; int scccnt,inscc[10…

【CV】【IRSRMamba】basicSR库

介绍IRSRMamba模型中的basicSR库的代码结构

2025年11月十大效果图公司推荐榜单:专业分析与权威评测对比

在建筑设计与地产开发领域,效果图是项目沟通与决策的重要媒介。无论是建筑师、开发商还是项目业主,在推进项目时往往面临选择合适效果图公司的难题。用户可能因项目汇报、营销宣传或方案比选等需求,寻求高品质的视觉…

2025 年 11 月管道更換服務權威推薦榜:專業施工與高效維修,涵蓋老舊破損無縫防腐耐高溫管道更換,包括自來水消防燃氣排水污水工業通風等各類室內外場景

2025 年 11 月管道更換服務權威推薦榜:專業施工與高效維修,涵蓋老舊破損無縫防腐耐高溫管道更換,包括自來水消防燃氣排水污水工業通風等各類室內外場景 行業背景分析 管道系統作為城市基礎設施與建築物的重要組成部…

L12_自定义接口与权限验证_从零开始

作业ppt演示过程实操 由于点意外,导致部分若依菜单无法打开,并且由于强迫症,全删,从零开始 来点音乐:终焉的莉莉 准备阶段 环境:mysql,redis,jdk-18,nvm,node 16,idea打开ruoyi.vip 选择源码地址,选择ruoyi前后端…

leetcode238. 除自身以外数组的乘积 未解决

leetcode238. 除自身以外数组的乘积 未解决238. 除自身以外数组的乘积只会违规使用除法🤡class Solution {public int[] productExceptSelf(int[] nums) {int product = 1,firstZero = -1,secondZero = -1,n = nums…

python environment settings

Install python https://www.python.org/for example: python-3.14.0-amd64.exeinstall List all python installed in local machine> py -0 -V:3.14 * Python 3.14 (64-bit) -V:3.13 Python 3.13…

2025 年 11 月靶材廠家權威推薦榜:濺射/磁控濺射/旋轉靶材,ITO/半導體/光學鍍膜,陶瓷/金屬/鈦/鋁/銅/鎢/鉬/鉭/矽/合金/稀土靶材精選,工藝精湛與創新應用深度解析

2025 年 11 月靶材廠家權威推薦榜:濺射/磁控濺射/旋轉靶材,ITO/半導體/光學鍍膜,陶瓷/金屬/鈦/鋁/銅/鎢/鉬/鉭/矽/合金/稀土靶材精選,工藝精湛與創新應用深度解析 行業發展現狀與技術趨勢 隨著全球高科技產業的快速…

2025 年 11 月高壓清洗服務廠家推薦排行榜,管道/下水道/污水管/市政管道高壓清洗,化糞池/隔油池/污水池專業清洗,家庭/商鋪/小區/工廠高效深度清潔首選!

2025 年 11 月高壓清洗服務廠家推薦排行榜,管道/下水道/污水管/市政管道高壓清洗,化糞池/隔油池/污水池專業清洗,家庭/商鋪/小區/工廠高效深度清潔首選! 行業背景分析 高壓清洗技術作為現代化清潔維護的重要組成部…

如何在C++中实现面向对象编程?

C++ 面向对象编程(OOP)的核心是 封装、继承、多态,通过 class 关键字定义类,将数据(成员变量)和操作(成员函数)绑定在一起,同时支持派生类扩展基类、虚函数实现动态行为。以下是具体实现方法和示例: 一、封装…

2025 年 11 月鍍膜材料源頭廠家權威推薦榜:真空鍍膜材料、光學鍍膜材料、金屬鍍膜材料,高效能與耐用性深度解析

2025 年 11 月鍍膜材料源頭廠家權威推薦榜:真空鍍膜材料、光學鍍膜材料、金屬鍍膜材料,高效能與耐用性深度解析 前言:鍍膜材料產業發展現狀與技術趨勢 隨著全球高科技製造業的快速發展,鍍膜材料作為關鍵基礎材料,…

一物一码赋能全链路管控,二脉科技互动溯源系统引领行业新生态 !

在假冒伪劣产品频发、市场窜货乱象丛生的当下,防伪溯源成为企业守护品牌信誉、保障消费者权益的核心防线。防伪溯源、追溯系统、追溯防窜货等需求日益迫切,而防伪追溯、防伪码溯源码、追溯码、一物一码二维码追溯等技…