File tree 4 files changed +21
-6
lines changed
4 files changed +21
-6
lines changed Original file line number Diff line number Diff line change @@ -179,10 +179,11 @@ def to_string(self):
179
179
to_write = []
180
180
181
181
if len (frame .columns ) == 0 or len (frame .index ) == 0 :
182
- info_line = 'Empty %s\n Columns: %s\n Index: %s'
183
- to_write .append (info_line % (type (self .frame ).__name__ ,
184
- repr (frame .columns ),
185
- repr (frame .index )))
182
+ info_line = ('Empty %s\n Columns: %s\n Index: %s'
183
+ % (type (self .frame ).__name__ ,
184
+ repr (frame .columns ),
185
+ repr (frame .index )))
186
+ to_write .append (info_line )
186
187
else :
187
188
# may include levels names also
188
189
str_index = self ._get_formatted_index ()
Original file line number Diff line number Diff line change @@ -121,6 +121,14 @@ def summary(self):
121
121
name = type (self ).__name__
122
122
return '%s: %s entries%s' % (name , len (self ), index_summary )
123
123
124
+ def __repr__ (self ):
125
+ try :
126
+ return np .array_repr (self .values )
127
+ except UnicodeError :
128
+ return np .array_repr (np .array (
129
+ [x if not isinstance (x , basestring ) else unicode (x )
130
+ for x in self .values ]))
131
+
124
132
@property
125
133
def values (self ):
126
134
return np .asarray (self )
Original file line number Diff line number Diff line change @@ -569,7 +569,7 @@ def _tidy_repr(self, max_vals=20):
569
569
length = False ,
570
570
name = False )
571
571
result = head + '\n ...\n ' + tail
572
- namestr = "Name: %s, " % str (self .name ) if self .name else ""
572
+ namestr = "Name: %s, " % str (unicode ( self .name ) ) if self .name else ""
573
573
result = '%s\n %sLength: %d' % (result , namestr , len (self ))
574
574
return result
575
575
Original file line number Diff line number Diff line change @@ -1836,10 +1836,16 @@ def test_to_string_unicode_columns(self):
1836
1836
df .info (buf = buf )
1837
1837
buf .getvalue ()
1838
1838
1839
+ def test_to_string_unicode_two (self ):
1840
+ dm = DataFrame ({u'c/\u03c3 ' : []})
1841
+ buf = StringIO ()
1842
+ dm .to_string (buf )
1843
+
1839
1844
def test_to_string_with_formatters_unicode (self ):
1840
1845
df = DataFrame ({u'c/\u03c3 ' :[1 ,2 ,3 ]})
1841
1846
result = df .to_string (formatters = {u'c/\u03c3 ' : lambda x : '%s' % x })
1842
- self .assertEqual (result , ' c/\xcf \x83 \n 0 1 \n 1 2 \n 2 3 ' )
1847
+ assert (result in (' c/\xcf \x83 \n 0 1 \n 1 2 \n 2 3 ' ,
1848
+ ' c/?\n 0 1 \n 1 2 \n 2 3 ' ))
1843
1849
1844
1850
def test_head_tail (self ):
1845
1851
assert_frame_equal (self .frame .head (), self .frame [:5 ])
You can’t perform that action at this time.
0 commit comments