Skip to content

Commit 6047584

Browse files
fix : remove memo usage
1 parent 3e1d6d5 commit 6047584

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

pandas/_libs/parsers.pyx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,7 +2122,6 @@ def sanitize_objects(ndarray[object] values, set na_values) -> int:
21222122
Py_ssize_t i, n
21232123
object val, onan
21242124
Py_ssize_t na_count = 0
2125-
dict memo = {}
21262125

21272126
n = len(values)
21282127
onan = np.nan
@@ -2132,9 +2131,5 @@ def sanitize_objects(ndarray[object] values, set na_values) -> int:
21322131
if val in na_values:
21332132
values[i] = onan
21342133
na_count += 1
2135-
elif val in memo:
2136-
values[i] = memo[val]
2137-
else:
2138-
memo[val] = val
21392134

21402135
return na_count

pandas/tests/io/parser/common/test_common_basic.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
compat,
2929
)
3030
import pandas._testing as tm
31+
from pandas._libs import parsers as libparsers
3132

3233
pytestmark = pytest.mark.filterwarnings(
3334
"ignore:Passing a BlockManager to DataFrame:DeprecationWarning"
@@ -830,3 +831,12 @@ def test_read_seek(all_parsers):
830831
actual = parser.read_csv(file)
831832
expected = parser.read_csv(StringIO(content))
832833
tm.assert_frame_equal(actual, expected)
834+
835+
def test_dtype_conversion_in_sanitization():
836+
# GH60088
837+
values = np.array([1,True],dtype=object)
838+
expected = np.array([1,True],dtype=object)
839+
libparsers.sanitize_objects(values,na_values=set())
840+
for v,e in zip(values,expected):
841+
assert v==e
842+
assert type(v)==type(e)

0 commit comments

Comments
 (0)