我有一个 parquet 文件,我想从文件中读取前 n
行到 pandas 数据框中。
我试过的:
df = pd.read_parquet(path= 'filepath', nrows = 10)
它没有工作并给了我错误:
TypeError: read_table() got an unexpected keyword argument 'nrows'
我确实也尝试了 skiprows
参数,但这也给了我同样的错误。
或者,我可以读取完整的 parquet 文件并过滤前 n 行,但这需要更多的计算,我想避免。
有什么办法可以实现吗?
最佳答案
接受的答案已过时。现在可以只将 parquet 文件的前几行读入 pandas,尽管它有点困惑并且依赖于后端。
要使用 PyArrow 作为后端阅读,请按照以下步骤操作:
from pyarrow.parquet import ParquetFile
import pyarrow as pa
pf = ParquetFile('file_name.pq')
first_ten_rows = next(pf.iter_batches(batch_size = 10))
df = pa.Table.from_batches([first_ten_rows]).to_pandas()
更改行 batch_size = 10
以匹配您要读入的行数。
关于python - Pandas : Reading first n rows from parquet file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53982871/