Skip to content

Commit 4dd3a6f

Browse files
committed
BUG: Fix justification for DataFrame.to_string(index=False)
1 parent 1d95179 commit 4dd3a6f

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

pandas/formats/format.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,9 @@ def to_string(self):
605605
strcols = self._to_str_columns()
606606
text = self.adj.adjoin(1, *strcols)
607607
if not self.index:
608-
text = text.replace('\n ', '\n').strip()
608+
# Remove a single space from the beginning of each line
609+
# and remove any trailing spaces
610+
text = text.replace('\n ', '\n')[1:].rstrip()
609611
self.buf.writelines(text)
610612

611613
if self.should_show_dimensions:

pandas/tests/formats/test_format.py

+19-2
Original file line numberDiff line numberDiff line change
@@ -1974,11 +1974,28 @@ def test_to_string_no_header(self):
19741974
self.assertEqual(df_s, expected)
19751975

19761976
def test_to_string_no_index(self):
1977-
df = DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
1977+
df = DataFrame({'aaaaa': [100, 200, 300], 'bbbbb': [400, 500, 600]})
1978+
df_s = df.to_string(index=False)
1979+
expected = "aaaaa bbbbb\n" \
1980+
" 100 400\n" \
1981+
" 200 500\n" \
1982+
" 300 600"
1983+
self.assertEqual(df_s, expected)
19781984

1985+
df = DataFrame({'aaa': [100, 200, 300], 'bbb': [400, 500, 600]})
19791986
df_s = df.to_string(index=False)
1980-
expected = "x y\n1 4\n2 5\n3 6"
1987+
expected = "aaa bbb\n" \
1988+
"100 400\n" \
1989+
"200 500\n" \
1990+
"300 600"
1991+
self.assertEqual(df_s, expected)
19811992

1993+
df = DataFrame({'a': [100, 200, 300], 'b': [400, 500, 600]})
1994+
df_s = df.to_string(index=False)
1995+
expected = " a b\n" \
1996+
"100 400\n" \
1997+
"200 500\n" \
1998+
"300 600"
19821999
self.assertEqual(df_s, expected)
19832000

19842001
def test_to_string_line_width_no_index(self):

0 commit comments

Comments
 (0)