有没有办法在Pandas中查看我的数据框,而不必每次都阅读文件?

slhcrj9b  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(131)

下面是我的代码:

import pandas as pd

df = pd.read_parquet("file.parqet", engine='pyarrow')
df_set_index = df.set_index('column1')

row_count = df.shape[0]  
column_count = df.shape[1]  

print(df_set_index)
print(row_count)
print(column_count)

我可以运行这个程序,而不用每次我想做行计数、列计数等时都读入 parquet 文件吗?读入文件需要一段时间,因为它很大,我已经读入了一次,但我不知道如何读入。

4xrmg8kj

4xrmg8kj1#

pd.read_parquet读取存储在光盘上的文件,并将其存储在缓存中,由于数据量很大,缓存速度自然会很慢。因此,您可以设计一个解决方案,例如:
1.)列计数

pd.read_parquet("file.parqet", engine='pyarrow', nrows=1).shape[1]
  • 〉这将给予列数,而只阅读1行
  • 〉.shape返回一个包含值(# rows,# columns)的元组,因此只需获取第二个项目的列数,如上所示。
    2.)行计数
cols_want = ['colmn1'] # put whatever column names you want here
row_count = pd.read_parquet("file.parqet", engine='pyarrow', usecols=cols_want).shape[0]
  • 〉这将给予列“column 1”中的行数,而不必读入所有其他列(这是您的解决方案需要一段时间的原因)。
    3.)set_index(...)不应该存储在变量中,所以我不确定你想在那里做什么。如果你想查看列中的内容,只需使用上面的#2并删除“.shape[0]”调用

相关问题