簡體   English   中英

讀取大型 csv 文件中特定列的最有效方法

[英]Most efficient way to read a specific column in large csv file

大約有一個 CSV 文件。 大小為 2.5 GB,大約有 50 列和 450 萬行。

該數據集將用於不同的操作,但一次只使用幾列,因此我正在尋找一種高性能算法來只讀取 CSV 文件中的一列。

  1. 讀取一個塊中的文件大約需要 38 秒才能讀取一個 Pandas dataframe 中的文件。

     path = r"C:\my_path\my_csv.csv" pd.read_csv(path, header=0)
  2. 僅閱讀一個特定的列大約需要 14 秒

    pd.read_csv(path, usecols=["my_specific_col"], header=0)

有沒有辦法減少閱讀時間? 因為看起來列數對性能影響不大。

自 Pandas 的 1.4.0 版以來,有一個新的read_csv實驗引擎,它依賴於 Arrow 庫的 CSV 多線程解析器,而不是默認的 C 解析器。

所以,這可能有助於加快速度:

df = pd.read_csv(path, usecols=["my_specific_col"], header=0, engine="pyarrow")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM