Skip to content

Commit 5c619c9

Browse files
committed
do not replace all nulls with NaN-string
1 parent 50ac498 commit 5c619c9

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

pandas/core/indexes/base.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -1392,11 +1392,12 @@ def _format_with_header(self, header: list[str_t], na_rep: str_t) -> list[str_t]
13921392
result = [pprint_thing(x, escape_chars=("\t", "\r", "\n")) for x in values]
13931393

13941394
# could have nans
1395-
mask = isna(values)
1396-
if mask.any():
1397-
result_arr = np.array(result)
1398-
result_arr[mask] = na_rep
1399-
result = result_arr.tolist()
1395+
if na_rep is not None:
1396+
mask = isna(values)
1397+
if mask.any():
1398+
result_arr = np.array(result)
1399+
result_arr[mask] = na_rep
1400+
result = result_arr.tolist()
14001401
else:
14011402
result = trim_front(format_array(values, None, justify="left"))
14021403
return header + result

pandas/io/formats/format.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -366,10 +366,10 @@ def _get_formatted_index(self) -> tuple[list[str], bool]:
366366

367367
if isinstance(index, MultiIndex):
368368
have_header = any(name for name in index.names)
369-
fmt_index = index.format(names=True)
369+
fmt_index = index.format(names=True, na_rep=None)
370370
else:
371371
have_header = index.name is not None
372-
fmt_index = index.format(name=True)
372+
fmt_index = index.format(name=True, na_rep=None)
373373
return fmt_index, have_header
374374

375375
def _get_formatted_values(self) -> list[str]:

pandas/tests/series/test_repr.py

+10
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,16 @@ def test_float_repr(self):
259259
assert repr(ser) == expected
260260

261261

262+
def test_different_null_objects(self):
263+
# GH#45263
264+
ser = pd.Series([1,2,3,4], [True, None, np.nan, pd.NaT])
265+
result = repr(ser)
266+
assert "NaT" in result
267+
assert "nan" in result
268+
assert "None" in result
269+
270+
271+
262272
class TestCategoricalRepr:
263273
def test_categorical_repr_unicode(self):
264274
# see gh-21002

0 commit comments

Comments
 (0)