python - Pandas : Reading first n rows from parquet file?

标签 python pandas parquet

我有一个 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/

相关文章:

python - 向 csv 文件添加更多新数据时出现问题

python - Keras:input_shape=train_data.shape 产生 "list index out of range"

python - Pandas - 合并两个具有相同列名的 DataFrame

apache-spark - Spark Streaming以Parquet格式附加到S3,小分区太多

python - 在 Python 中使用字符串格式化和随机字符串

python - 为什么我得到 "AttributeError: ' KerasClassifier' object has no attribute '__call__' ?

python - 如何更改列的值

python - pandas 随机播放最后 N 行

hadoop - 如何从 parquet 文件中获取模式/列名?

java - 使用 map reduce 作业将 Hdfs 文本文件转换为 Parquet 格式