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

有用的包 #Python

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

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.gsyq.cn/news/60754.html

相关文章:

  • 2025 人事管理工具选型:不同方案优劣势测评,中小企业闭眼抄作业
  • 2025年大众途观L更换轮胎推荐:五大专业品牌最新推荐
  • 树上背包优化
  • 2025年11月十大效果图公司推荐榜单:用户口碑评价与性能参数对比
  • 2025年11月十大效果图公司推荐榜单:专业分析与权威评测对比
  • 2025 年 11 月高壓清洗服務廠家推薦排行榜,管道/下水道/污水管/市政管道高壓清洗,化糞池/隔油池/污水池專業清洗,家庭/商鋪/小區/工廠高效深度清潔首選!
  • 如何在C++中实现面向对象编程?
  • 最简单的畅通工程
  • 唯物辩证法3大观点11原理
  • 加盟稳赚?2025广东自习室加盟TOP5品牌及盈利方案
  • AI写论文方法全揭秘:轻松掌握高效论文写作技巧
  • 2025年11月最新出炉!南京装修公司推荐首推欧阅恒装 TOP5权威榜单
  • Hash求无向图的桥
  • 完整教程:【2025最全】国内AIPPT工具排行榜
  • 关于powershell中的-哈希表-Hashtable-类型-说明-类似于python中的字典
  • CSP-S2025 T4 员工招聘 题解
  • 2025 GEO优化公司排名权威榜单解读:浙江四家标杆企业凭何突围?
  • 写给0-1岁的初创公司合伙人(101):天使轮与种子轮融资的条件解锁机制
  • Mac Unity 2018.dmg游戏工具 安装步骤 简单易懂教程(附安装包)
  • 102302147傅乐宜作业3
  • 2025中小学生AI学习机选购核心:5大品牌实测,提分才是硬通货!
  • 深入解析:DNS解析原理及工作流程详解
  • 6000 AI Program Topic 3~6
  • 洛谷 P1908:逆序对 ← 树状数组 + 离散化(数组 + sort + STL map)
  • P10977 Cut the Sequence 分析
  • 软件工程学习日志2025.11.25
  • IT外包与勒索软件:英国经济安全面临的技术风险
  • NumPy广播机制深度解析:为什么有时能加,有时报错?
  • STL常用功能
  • Rust 零拷贝技术:从所有权到专业的系统调用的性能优化之道