【Py】数据处理速度对比

在这里插入图片描述
@《Go语言设计与实现》


在工作中难免要对数据进行各种各样的处理,在Python中,我接触到的数据处理工具包括Pandas、原生语法等等,在Pandas中我们需要对列表字典数据进行转换,转换为DataFrame,而使用原生语法则不需要进行转换。

添加新列

>>> myList = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}]
>>> %timeit for item in myList: item['elem']='value'
128 ns ± 3.73 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
>>> %timeit pd.DataFrame(myList)
>>> 257 µs ± 5.26 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
>>> %timeit df['elem'] = 'value'
36.4 µs ± 532 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

重命名某列

>>> myList = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}]
>>> %timeit for item in myList: item['d']=item.pop('a', ''); item['e']=item.pop('b', ''); item['f']=item.pop('c', '')
720 ns ± 11.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
>>> %timeit df.rename(columns={'a':'d','b':'e','c':'f'})
163 µs ± 1.68 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

参考:https://stackoverflow.com/a/67489505/7151777

<think>嗯,用户问的是Python中处理表格数据的库,我需要详细介绍一下。首先,我应该想到最常用的库,比如Pandas,肯定是必须提到的。然后,可能还有其他的库,比如csv模块,虽然基础但也很重要。另外,xlrd和openpyxl处理Excel文件,Dask用于大数据,Polars强调性能,还有tablib和sqlalchemy这些可能用户不太熟悉的库。 我需要确保结构清晰,按照常用程度或者功能来分点。每个库的简介、主要功能和适用场景都要简明扼要。同时,要提醒用户根据需求选择合适的库,比如数据量大小、是否需要高性能或者数据库交互等。 另外,用户可能不仅想知道有哪些库,还希望了解它们的特点和适用情况,这样他们能做出更好的选择。比如,Pandas适合一般数据处理,而Dask适合处理超出内存的数据,Polars则速度快。这时候需要对比说明,帮助用户理解不同库的优势。 还要检查是否有遗漏的库,比如是否应该提到Apache Arrow或者pyarrow?不过可能这些更偏向于底层,用户可能更常用的是Pandas结合这些工具。可能不需要深入,保持回答集中在表格数据处理的核心库上。 最后,语言要口语化,但信息要准确。比如,用“例如”来举例子,帮助用户理解每个库的典型应用场景。确保每个点都有实际应用的价值,避免过于技术化的术语,但又要准确描述功能。</think>在Python中处理表格数据有以下常用库,我按实用场景为您分类介绍: 1. **Pandas (核心推荐)** - 特点:最主流的表格数据处理库 - 核心数据结构: - `Series` (一维数据) - `DataFrame` (二维表格) - 常用功能: ```python import pandas as pd df = pd.read_csv('data.csv') # 读取CSV df.head() # 预览数据 df.groupby('列名').mean() # 分组统计 df.to_excel('output.xlsx') # 输出Excel ``` 2. **CSV模块 (Python原生)** - 适用场景:简单CSV文件读写 - 基础用法: ```python import csv with open('data.csv') as f: reader = csv.DictReader(f) for row in reader: print(row['列名']) ``` 3. **Openpyxl/Xlrd** - 专门处理Excel文件: - openpyxl:读写.xlsx格式(推荐) - xlrd:仅读取旧版.xls格式 4. **Dask** - 特点:并行计算框架,处理超内存数据 - 兼容Pandas API: ```python import dask.dataframe as dd ddf = dd.read_csv('超大文件*.csv') ``` 5. **Polars (新兴高性能库)** - 优势: - 比Pandas更快的内存处理 - 惰性执行优化 - 语法示例: ```python import polars as pl df = pl.read_csv('data.csv') df.filter(pl.col('age') > 18) ``` 6. **Tablib (轻量级选择)** - 特点:支持多种格式转换 - 支持格式:XLS, CSV, JSON, YAML等 7. **SQLAlchemy** - 数据库交互: ```python from sqlalchemy import create_engine engine = create_engine('sqlite:///data.db') pd.read_sql('SELECT * FROM table', engine) ``` 选择建议: - 常规数据分析 → Pandas - 超大数据集 → Dask - 极致性能需求 → Polars - 简单CSV处理 → csv模块 - Excel专项操作 → openpyxl - 数据库交互 → SQLAlchemy + Pandas 学习路径建议:优先掌握Pandas,再根据需要扩展学习其他库。大多数数据科学岗位要求熟练掌握Pandas,其丰富的API(数据清洗、聚合、可视化)能满足90%的表格处理需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值