pandas 按行分割
时间: 2024-06-23 20:02:01 浏览: 159
在Pandas库中,按行分割通常指的是将DataFrame对象拆分为多个单独的数据帧,这在处理大型数据集或者需要将数据分块处理的情况下非常有用。Pandas提供了一些方法来实现这个功能,比如`chunksize`参数、`iterrows()`函数或`dask`扩展。
**1. chunksize参数**:
你可以使用`pandas.read_csv()`或`pandas.DataFrame.read_sql()`等函数读取CSV或数据库文件时指定`chunksize`参数,这样会返回一个生成器,每次迭代返回DataFrame的一个块:
```python
import pandas as pd
chunks = pd.read_csv('large_file.csv', chunksize=1000) # 以1000行为单位分割
```
**2. iterrows()函数**:
`iterrows()`方法逐行遍历DataFrame,返回的是索引和行数据的元组:
```python
for index, row in df.iterrows():
# 处理每一行数据
```
**3. dask DataFrame**:
如果数据量特别大,可以使用Dask DataFrame,它是Pandas DataFrame的一个并行版本,支持按行或列分割:
```python
from dask import dataframe as dd
ddf = dd.read_csv('big_file.csv')
for chunk in ddf.chunks:
process(chunk)
```
阅读全文