Skip to content

Commit 5c447dd

Browse files
committed
BUG: don't need to convert numeric types already handled by converters, GH #546
1 parent f76d307 commit 5c447dd

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

pandas/io/parsers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,9 @@ def _convert_to_ndarrays(dct, na_values):
475475
return result
476476

477477
def _convert_types(values, na_values):
478+
if issubclass(values.dtype.type, (np.number, np.bool_)):
479+
return values
480+
478481
try:
479482
values = lib.maybe_convert_numeric(values, na_values)
480483
except Exception:

pandas/io/tests/test_parsers.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,13 @@ def test_converters(self):
451451
assert_frame_equal(result, expected)
452452
assert_frame_equal(result2, expected)
453453

454+
# produce integer
455+
converter = lambda x: int(x.split('/')[2])
456+
result = read_csv(StringIO(data), converters={'D' : converter})
457+
expected = read_csv(StringIO(data))
458+
expected['D'] = expected['D'].map(converter)
459+
assert_frame_equal(result, expected)
460+
454461
def test_regex_separator(self):
455462
data = """ A B C D
456463
a 1 2 3 4

vb_suite/groupby.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def f():
3838
name="groupby_multi_cython",
3939
start_date=datetime(2011, 7, 1))
4040

41-
stmt = "df.groupby(['key1', 'key2'])['data1'].agg(Series.skew)"
41+
stmt = "df.groupby(['key1', 'key2'])['data1'].agg(np.std)"
4242
groupby_multi_series_op = Benchmark(stmt, setup,
4343
name="groupby_multi_series_op",
4444
start_date=datetime(2011, 8, 1))

0 commit comments

Comments
 (0)