普通视图

Parquet 文件简介: Python 读写 Parquet 文件实战

Parquet 文件入门 Python 读写 Parquet 文件实战 大数据存储优化:Parquet 格式解析 Python 数据分析必备:Parquet 文件处理技巧 列式存储揭秘:Parquet 文件与性能优化 使用 Python 和 PyArrow 处理嵌套 Parquet 数据 从 CSV 到 Parquet:Python 数据格式转换教程

什么是 Parquet 文件?

Parquet 是一种列式存储文件格式,优化用于大规模数据处理。它常用于 Apache Spark、Hadoop 和 Pandas 等大数据框架,以实现高效存储和快速检索表格数据。 Parquet 格式可以简单认为是CSV的转置/Transpose。不过CSV是文本的,而Parquet是二进制的。从存储方式上理解列式存储就像把行列交换,但需要注意 Parquet 是二进制、支持压缩和嵌套类型,不仅仅是“转置”。

为什么使用 Parquet?

  • 列式存储:按列存储数据,提高分析任务的查询性能。
  • 压缩:支持高效的压缩技术,减少存储空间。
  • 兼容性:可与多种数据处理框架配合使用。
  • 模式演进:支持增加或删除列而不破坏现有数据。

安装所需库

要在 Python 中使用 Parquet,需要 pandaspyarrow(或 fastparquet):
pip install pandas pyarrow

在 Python 中读取 Parquet 文件

以下示例演示如何使用 pandaspyarrow 读取 Parquet 文件:
import pandas as pd
import pyarrow.parquet as pq

# Parquet 文件路径
file_path = "example.parquet"

# 读取 Parquet 文件到 DataFrame
df = pd.read_parquet(file_path)

# 显示前 5 行
print(df.head())

写入 Parquet 文件

你也可以轻松地将 DataFrame 保存为 Parquet 文件:
import pandas as pd

# 创建示例 DataFrame
data = {
    "name": ["Alice", "Bob", "Charlie"],
    "age": [25, 30, 35],
    "city": ["London", "Paris", "New York"]
}
df = pd.DataFrame(data)

# 保存为 Parquet
df.to_parquet("output.parquet", engine="pyarrow", index=False)

处理嵌套数据

Parquet 支持嵌套数据,如列表或结构体。可以使用 pyarrow 直接读取:
import pyarrow.parquet as pq
from io import BytesIO

# 直接读取 Parquet 文件
table = pq.read_table("example.parquet")
df = table.to_pandas()
print(df.head())

总结

Parquet 文件在存储和处理大规模表格数据时非常高效。使用 Python 的 pandaspyarrow,你可以轻松地读取、写入并处理 Parquet 文件,用于数据分析、ETL 流程和大数据应用。 [show_file file="/var/www/wp-post-common/justyy.com/python.php"] 英文:Introduction to Parquet Files: Read & Write using Python

相关文章:

  1. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  2. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  3. 第一次私校家长会: 原来家长比孩子还卷 前几天参加了娃的第一次家长会,和几位家长聊下来,真是个个都很厉害。不光孩子们卷,家长也一样卷,一眼望去基本都是 Dr/博士。娃还调侃我一句:“这有什么的,你不也是 Dr 吗?” 我心里默默想:还好没写学校名字,不然我这野鸡大学的头衔真拿不出手 😂。 私校里真是人才济济,乐器过 8 级的太常见了,卷得不得了。我还问过娃,是想当 big fish in a small pond...
  4. 如何通过二分查找搜索在区块链上根据时间戳定位区块? 前两天,我想查一下自己在 STEEM 区块链上一些重要记录对应的区块号,比如: 注册了我的账号 #4253590 成为见证人 #20190755 挖到我的第一个区块 #20390040 被孙宇晨大佬代理了 SP #41676911 收到一笔 DAO 收入...
  5. MySQL参数一键配置脚本: 有效提升数据库性能 我一直是自己租用VPS服务器,然后搭建各种服务,比如博客就是Apache2+MySQL数据库。一般来说就是默认参数,没有去管,不过最近发现MySQL的性能参数都很保守,不能发挥整个服务器的性能。 然后我就网上搜索了一下,根据参数配置建议,用ChatGPT写了以下Python和BASH脚本。只需要在需要优化的服务器上,跑一下该脚本,然后就会显示参数配置,然后直接把参数添加到MySQL数据库配置参数文件上: /etc/mysql/mysql.conf.d/mysqld.cnf 然后运行: service mysql restart 重启MySQL服务器。 运行了几周,发现效果很好,博客反应速度也快了很多,这很大原因是根据了内存增加了MySQL缓存大小。 Python脚本优化MySQL数据库参数 把下面的Python脚本存成 mysql_config.py 然后运行 python3 mysql_config.py...
  6. 英国抓捕比特币ATM主犯: 所有与法币挂钩的加密活动必须获得许可 英国查获比特币ATM主犯:所有与法币挂钩的加密业务必须持牌 案件回顾:比特币ATM运营者被判四年 在2025年2月,英国金融行为监管局(FCA)宣布成功起诉并判刑首位非法运营比特币ATM的个人——Olumide Osunkoya。该男子未经授权在伦敦多地运营加密ATM,处理交易金额达260万英镑。他曾试图注册合法业务但被拒,随后伪造身份文件绕过监管,最终被法院判处4年有期徒刑。 最新行动:7台ATM被查封,两人被捕 紧接着在2025年7月,FCA与伦敦警察再次联合行动,在西南伦敦多个地点查封7台非法加密ATM,并拘捕2人。FCA重申:在英国,没有任何加密ATM获得合法运营许可,所有涉及法币兑换的活动必须事先注册并获得批准。 英国FCA官网原文指出:“我们提醒所有经营者,若他们继续运营未注册的加密ATM,将面临刑事起诉。”(原文链接见参考资料) 为什么这些ATM是非法的? 在英国,只要涉及“加密货币 ↔ 法币”的兑换行为,就会被纳入《反洗钱条例(MLRs)》的监管框架。运营者必须: 向FCA注册为加密资产公司 实施KYC(身份验证)和AML(反洗钱)程序 接受FCA的持续监管与合规审核 未经注册即开展此类活动,属于违法行为。...
  7. 同一台服务器上多个WORDPRESS站点的一些设置可以移出去 我自从把所有网站都挪到一处VPS服务器上 就发现很多事情省事很多 可以同时管理多个网站 包括 WORDPRESS博客. 比如我有四个WORDPRESS博客 然后我就把通用的一些资料给移出去 移到 HTTP或者HTTPS都不能直接访问的文件夹里这样就更安全许多. 文件 wp-conn.php 存储了 相同的数据库资料. /** MySQL...
  8. 比特币最近波动有点大: 一天牛市一天熊 比特币10万美金以内都是最后上车的机会! 比特币近期的价格波动可以归因于多个关键因素,包括地缘政治动态、监管变化以及加密行业内的重大安全事件。其中一个主要影响因素是美国前总统唐纳德·特朗普对乌克兰和加密货币监管的立场变化。据报道,特朗普再次当选,他可能会推动减少美国对乌克兰的支持,这可能会影响全球金融市场和风险偏好。同时,特朗普正在将自己塑造为亲加密货币的候选人,表示有意让美国成为一个更加友好的加密货币环境。这一立场引发了市场对监管政策可能发生变化的猜测,导致市场情绪在乐观和不确定性之间波动。 特朗普对俄乌战争的态度 美国第43届总统唐纳德·特朗普已经在2025年1月当选并正式上任(第二次),那么他的政策可能会对比特币价格的波动产生更加直接和显著的影响。他政府对乌克兰和加密货币监管的立场已经不再是猜测,而是正在实际塑造市场的关键力量。 特朗普(Donald Trump)减少美国对乌克兰的支持,全球投资者可能会预期地缘政治稳定性发生变化,从而增加对比特币作为避险资产的需求。同时,他的亲加密货币立场可能正在推动市场的乐观情绪。如果他的政府推出有利于加密行业的监管政策,例如明确的合规指南或减少监管审查,可能会吸引更多机构投资者进入市场,并促进更广泛的加密货币采用。然而,政策的快速变化也可能导致短期市场剧烈波动,因为市场需要时间来消化新的政策动向。 朝鲜黑客盗取Bybit交易所15亿美元的ETH 另一个显著影响比特币价格的事件是近期涉及朝鲜黑客组织“Lazarus”的15亿美元以太坊被盗案件。据报道,Bybit交易所(全球第二)这些被盗的ETH已经被清洗,此次大规模黑客攻击引发了人们对加密行业安全性的担忧。此类安全事件不仅会削弱投资者信心,还可能引发更严格的监管审查,导致短期市场动荡。此外,被盗资金的大规模流动和出售可能对市场流动性造成冲击,进一步加大价格波动。随着这些事件的持续发酵,比特币价格正受到政治决策、监管预期以及安全挑战等多重因素的影响。 与此同时,与朝鲜黑客组织 Lazarus 相关的 15 亿美元以太坊被盗事件仍在影响加密市场。由于这些被盗 ETH 已被清洗,人们对加密行业安全漏洞的担忧持续存在,同时也可能引发更严格的监管审查。政治、监管和安全等多重因素交织在一起,共同导致了比特币近期的剧烈价格波动。...

1+1>2的课程安排

2025年6月13日 10:27

大二我们第一次有食品专业课程的时候,我们就已经接触到综述这个东西。那个学期我们有两门很重要的课程,一门是食品化学,另外一门是食品微生物学。这两门课程可以这么说,是食品专业最基础最重要的课程。这两门课程是往后那些高楼大厦的基础,这两门课程之前我们学的基本都是通用的基础课程,还没有接触过专业课。这两门课程对食品专业来说又是通用的基础。

在这之前我学过高等数学、线性代数、概率论、大学物理、物理化学、无机化学、有机化学、生物化学。我感觉这些课程是我们学习食品化学和食品微生物学的基础。到底有多大用处呢?我不知道,但我觉得这是很有必要的。老师在上面说专业课某些原理的时候,因为有前面那些课程的支持,所以我们就不需要深入进去了。

我印象非常深刻的是食品化学刚开课没多久,老师就已经把综述的作业布置给了我们。综述是什么东西?我们甚至没看过专业文献。老师没有要求我们写专业文献,因为没有看过,我们写不出来,但综述这个东西就强迫着我们必须去看你的那个主题相关的专业文献。专业文献去哪里找?期刊杂志当然有,纸质的电子版都有,但综述这门作业每个学生都有不同的主题,所以要有针对性。显然去图书馆翻杂志就不太现实了,当然你也可以一直去翻那些纸质。看专业文献不是一本是一堆,很多期,除非你一直都有翻,一直都翻很多,否则可能很难撞上你感兴趣的,或是你需要收集数据的。所以那个学期,我们也开了一门我觉得非常有用的课程,叫文献检索。如果没有文献检索这门课程,食品化学给我们布置了这么一个任务的时候。我们简直不知道该怎么活了。这两门课程同时出现,又有这么个任务的,我感觉出现了1+1>2的效果。因为有文献检索这门课程的技术指导,所以我们知道该去哪里该用什么方法找我们想要的资料,正是因为我们有这么一个食品化学综述的奋斗目标,所以我们就更加会努力地通过文献检索那门课程学回来的技术去试验、熟悉。最终的结果就是我们找到了那个综述PPT要求我们收集的数据。因为有大量的练习,所以当文件检索课程需要我们完成某些课题的检索任务,我们可以快速且得心应手。食品化学这门课程,我们一个大班上课,超过100人。理论上每个人都要拿着自己那篇综述的PPT上台去讲,但实际上我们根本没有那么多时间。我就是那个没有机会上去讲的人,最终只能把PPT交上去结束任务。我觉得有幸上讲台讲自己PPT的那些学生虽然很慌、虽然很彷徨、虽然很无助,但这的确是一个非常好的锻炼机会,如果你在大二,如果你在第一次接触专业课的时候就已经经历过这样的事情,毕业答辩的时候,根本没什么好慌的。你做自己那个PPT的时候,你是按照你的思路去整理资料、得出数据、得出结论。这个时候食品化学的那个老师就会像是毕业答辩时那样挑刺,跟你针锋相对,为什么是这个结论?凭什么得出这个结论?收集的这些数据到底有没有代表性,这样的现象到底能不能得出这样的结论?所以综述还真不仅仅是把别人的数据最终拼凑出一个东西这么简单。如果你不去思考其中的缘由,必定会被那门课的老师喷得你无地自容。食品化学那门课,我有两个老师。她们轮流上课,两个老师都姓吴,其中一个姓吴的老师,我们称之为灭绝师太。如果你的综述上台讲的时候没被她喷得一塌糊涂,就算非常成功了。

我敢肯定,不是所有学校的食品化学课程都会有这样的安排。我觉得,我读书的时候,华农这个食品化学课程的这种要求非常接地气、非常实在,并且影响我一辈子。

❌