@@ -400,6 +400,110 @@ def test_frame_info_encoding(self):
400
400
repr (df .T )
401
401
fmt .set_printoptions (max_rows = 200 )
402
402
403
+ def test_wide_repr (self ):
404
+ set_option ('test.interactive' , True )
405
+ col = lambda l , k : [tm .rands (k ) for _ in xrange (l )]
406
+ df = DataFrame ([col (20 , 25 ) for _ in range (10 )])
407
+ rep_str = repr (df )
408
+ set_option ('print.expand_frame_repr' , True )
409
+ wide_repr = repr (df )
410
+ self .assert_ (rep_str != wide_repr )
411
+
412
+ set_option ('print.line_width' , 120 )
413
+ wider_repr = repr (df )
414
+ self .assert_ (len (wider_repr ) < len (wide_repr ))
415
+
416
+ set_option ('print.expand_frame_repr' , False )
417
+ set_option ('test.interactive' , False )
418
+ set_option ('print.line_width' , 80 )
419
+
420
+ def test_wide_repr_named (self ):
421
+ set_option ('test.interactive' , True )
422
+ col = lambda l , k : [tm .rands (k ) for _ in xrange (l )]
423
+ df = DataFrame ([col (20 , 25 ) for _ in range (10 )])
424
+ df .index .name = 'DataFrame Index'
425
+ rep_str = repr (df )
426
+ set_option ('print.expand_frame_repr' , True )
427
+ wide_repr = repr (df )
428
+ self .assert_ (rep_str != wide_repr )
429
+
430
+ set_option ('print.line_width' , 120 )
431
+ wider_repr = repr (df )
432
+ self .assert_ (len (wider_repr ) < len (wide_repr ))
433
+
434
+ for line in wide_repr .splitlines ()[1 ::13 ]:
435
+ self .assert_ ('DataFrame Index' in line )
436
+
437
+ set_option ('print.expand_frame_repr' , False )
438
+ set_option ('test.interactive' , False )
439
+ set_option ('print.line_width' , 80 )
440
+
441
+ def test_wide_repr_multiindex (self ):
442
+ set_option ('test.interactive' , True )
443
+ col = lambda l , k : [tm .rands (k ) for _ in xrange (l )]
444
+ midx = pandas .MultiIndex .from_arrays ([np .array (col (10 , 5 )),
445
+ np .array (col (10 , 5 ))])
446
+ df = DataFrame ([col (20 , 25 ) for _ in range (10 )],
447
+ index = midx )
448
+ df .index .names = ['Level 0' , 'Level 1' ]
449
+ rep_str = repr (df )
450
+ set_option ('print.expand_frame_repr' , True )
451
+ wide_repr = repr (df )
452
+ self .assert_ (rep_str != wide_repr )
453
+
454
+ set_option ('print.line_width' , 120 )
455
+ wider_repr = repr (df )
456
+ self .assert_ (len (wider_repr ) < len (wide_repr ))
457
+
458
+ for line in wide_repr .splitlines ()[1 ::13 ]:
459
+ self .assert_ ('Level 0 Level 1' in line )
460
+
461
+ set_option ('print.expand_frame_repr' , False )
462
+ set_option ('test.interactive' , False )
463
+ set_option ('print.line_width' , 80 )
464
+
465
+ def test_wide_repr_multiindex_cols (self ):
466
+ set_option ('test.interactive' , True )
467
+ col = lambda l , k : [tm .rands (k ) for _ in xrange (l )]
468
+ midx = pandas .MultiIndex .from_arrays ([np .array (col (10 , 5 )),
469
+ np .array (col (10 , 5 ))])
470
+ mcols = pandas .MultiIndex .from_arrays ([np .array (col (20 , 3 )),
471
+ np .array (col (20 , 3 ))])
472
+ df = DataFrame ([col (20 , 25 ) for _ in range (10 )],
473
+ index = midx , columns = mcols )
474
+ df .index .names = ['Level 0' , 'Level 1' ]
475
+ rep_str = repr (df )
476
+ set_option ('print.expand_frame_repr' , True )
477
+ wide_repr = repr (df )
478
+ self .assert_ (rep_str != wide_repr )
479
+
480
+ set_option ('print.line_width' , 120 )
481
+ wider_repr = repr (df )
482
+ self .assert_ (len (wider_repr ) < len (wide_repr ))
483
+
484
+ self .assert_ (len (wide_repr .splitlines ()) == 14 * 10 - 1 )
485
+
486
+ set_option ('print.expand_frame_repr' , False )
487
+ set_option ('test.interactive' , False )
488
+ set_option ('print.line_width' , 80 )
489
+
490
+ def test_wide_repr_unicode (self ):
491
+ set_option ('test.interactive' , True )
492
+ col = lambda l , k : [tm .randu (k ) for _ in xrange (l )]
493
+ df = DataFrame ([col (20 , 25 ) for _ in range (10 )])
494
+ rep_str = repr (df )
495
+ set_option ('print.expand_frame_repr' , True )
496
+ wide_repr = repr (df )
497
+ self .assert_ (rep_str != wide_repr )
498
+
499
+ set_option ('print.line_width' , 120 )
500
+ wider_repr = repr (df )
501
+ self .assert_ (len (wider_repr ) < len (wide_repr ))
502
+
503
+ set_option ('print.expand_frame_repr' , False )
504
+ set_option ('test.interactive' , False )
505
+ set_option ('print.line_width' , 80 )
506
+
403
507
def test_to_string (self ):
404
508
from pandas import read_table
405
509
import re
0 commit comments