From 5d8e1b6eb3bb083f372866cdef1a6242c47b4026 Mon Sep 17 00:00:00 2001 From: Robin <167366979+allrob23@users.noreply.github.com> Date: Mon, 3 Mar 2025 22:36:34 -0300 Subject: [PATCH 1/2] perf: improve membership check performance in column filtering --- pandas/io/parsers/c_parser_wrapper.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pandas/io/parsers/c_parser_wrapper.py b/pandas/io/parsers/c_parser_wrapper.py index 818c9f5ff6b80..8974cfea9b84b 100644 --- a/pandas/io/parsers/c_parser_wrapper.py +++ b/pandas/io/parsers/c_parser_wrapper.py @@ -258,8 +258,10 @@ def read( ) columns = _filter_usecols(self.usecols, columns) + columns_set = set(columns) - col_dict = {k: v for k, v in col_dict.items() if k in columns} + + col_dict = {k: v for k, v in col_dict.items() if k in columns_set} return index, columns, col_dict From 7e8c88d1b31e763a2c753c6e791cbb6524e4a38a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:52:27 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pandas/io/parsers/c_parser_wrapper.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandas/io/parsers/c_parser_wrapper.py b/pandas/io/parsers/c_parser_wrapper.py index 8974cfea9b84b..aa9f3556c8f62 100644 --- a/pandas/io/parsers/c_parser_wrapper.py +++ b/pandas/io/parsers/c_parser_wrapper.py @@ -260,7 +260,6 @@ def read( columns = _filter_usecols(self.usecols, columns) columns_set = set(columns) - col_dict = {k: v for k, v in col_dict.items() if k in columns_set} return index, columns, col_dict