page contents

不再使用 pandas,7 个 Python 库太棒了

写 Python 的朋友大多都离不开 Pandas,对吧?查数据、做清洗、跑分析,第一反应就是 import pandas as pd。但 Pandas 其实也有不少限制,比如大数据场景内存爆炸、并发支持差、速度在某些情况下不理想。 所以啊,我这边整理了几个替代或者补充 Pandas 的库,真心值得一试。

attachments-2025-09-c82iPXFQ68d9e03175760.png写 Python 的朋友大多都离不开 Pandas,对吧?查数据、做清洗、跑分析,第一反应就是 import pandas as pd。但 Pandas 其实也有不少限制,比如大数据场景内存爆炸、并发支持差、速度在某些情况下不理想。 所以啊,我这边整理了几个替代或者补充 Pandas 的库,真心值得一试。

1. Polars:更快更轻

这个库近两年特别火,核心就是快,基于 Rust 写的,多核利用也到位。写法上和 Pandas 有点像,上手难度不大。

import polars as pl


df = pl.DataFrame({

    "name": ["Tom", "Jerry", "Anna"],

    "age": [23, 31, 29]

})


# 筛选年龄大于25的

print(df.filter(pl.col("age") > 25))

要处理几百万行数据,速度优势立马体现出来。

2. Dask:分布式的 Pandas

Dask 的定位就是让你写着 Pandas 的代码,跑在分布式环境上。小数据本地玩,大数据可以挂集群,不用改动太多。

import dask.dataframe as dd


df = dd.read_csv("bigdata.csv")

result = df.groupby("city")["salary"].mean().compute()

print(result)

.compute() 这一步,就是把惰性计算真正跑出来。

3. Vaex:秒开十亿行Vaex 的优势是内存映射,你哪怕有几十 GB 的 CSV,照样能打开,还能秒级过滤。

import vaex


df = vaex.open("huge.csv")

print(df[df.salary > 10000].mean("age"))

关键点就是不把所有数据全塞内存,而是懒加载,性能很友好。

4. Modin:几乎不用改代码

这个库特别适合懒人,号称“一行代码提速 Pandas”。你把 import pandas as pd 改成 import modin.pandas as pd,剩下的都一样。

import modin.pandas as pd


df = pd.read_csv("data.csv")

print(df.groupby("type")["amount"].sum())

它底层会用 Ray 或 Dask 来并行化,省事。

5. PySpark:工业级老大哥

如果你在大公司,数据规模上百 GB 甚至 TB,那 PySpark 还是绕不过去。SQL 风格友好,而且生态成熟。

from pyspark.sql import SparkSession


spark = SparkSession.builder.appName("demo").getOrCreate()

df = spark.read.csv("data.csv", header=True, inferSchema=True)

df.groupBy("city").avg("salary").show()

这就是分布式计算的标准选手。

6. Koalas(现在并到 PySpark 里了)

Koalas 的目标就是让 Pandas 用户能无缝迁移到 Spark。用法和 Pandas 接近,但执行在 Spark 上。

import databricks.koalas as ks


df = ks.read_csv("data.csv")

print(df.head())

虽然现在已经和 PySpark 合并了,但思想还是一样:平滑过渡。

7. DuckDB:嵌入式 SQL 引擎

DuckDB 被称作“分析界的 SQLite”。支持直接在本地跑 SQL,速度快到你怀疑是不是在开玩笑。

import duckdb


con = duckdb.connect()

df = con.execute("SELECT * FROM 'data.csv' WHERE salary > 10000").fetchdf()

print(df)

对熟悉 SQL 的人特别友好,甚至能和 Arrow、Polars 等库一起配合。

Pandas 确实还是很多人默认的选择,但你得清楚:它不是万能的。如果只是几 MB 数据,Pandas 足够;但如果碰到几十 GB,或者需要分布式,就得考虑 Polars、Dask、Vaex、PySpark 这些。

总之,不再一棍子全打在 Pandas 上,工具箱多几个选择,工作就会轻松很多。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2025-09-29 09:26
  • 阅读 ( 26 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2220 文章
  3. Pack 1403 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章