@@ -37,11 +37,11 @@ def right():
37
37
def left_multi ():
38
38
return DataFrame (
39
39
{
40
- ' Origin' : ["A" , "A" , "B" , "B" , "C" ],
41
- ' Destination' : ["A" , "B" , "A" , "C" , "A" ],
42
- ' Period' : ["AM" , "AM" , "IP" , "AM" , "OP" ],
43
- ' TripPurp' : ["hbw" , "nhb" , "hbo" , "nhb" , "hbw" ],
44
- ' Trips' : [1987 , 3647 , 2470 , 4296 , 4444 ],
40
+ " Origin" : ["A" , "A" , "B" , "B" , "C" ],
41
+ " Destination" : ["A" , "B" , "A" , "C" , "A" ],
42
+ " Period" : ["AM" , "AM" , "IP" , "AM" , "OP" ],
43
+ " TripPurp" : ["hbw" , "nhb" , "hbo" , "nhb" , "hbw" ],
44
+ " Trips" : [1987 , 3647 , 2470 , 4296 , 4444 ],
45
45
},
46
46
columns = ["Origin" , "Destination" , "Period" , "TripPurp" , "Trips" ],
47
47
).set_index (["Origin" , "Destination" , "Period" , "TripPurp" ])
@@ -51,11 +51,11 @@ def left_multi():
51
51
def right_multi ():
52
52
return DataFrame (
53
53
{
54
- ' Origin' : ["A" , "A" , "B" , "B" , "C" , "C" , "E" ],
55
- ' Destination' : ["A" , "B" , "A" , "B" , "A" , "B" , "F" ],
56
- ' Period' : ["AM" , "AM" , "IP" , "AM" , "OP" , "IP" , "AM" ],
57
- ' LinkType' : ["a" , "b" , "c" , "b" , "a" , "b" , "a" ],
58
- ' Distance' : [100 , 80 , 90 , 80 , 75 , 35 , 55 ],
54
+ " Origin" : ["A" , "A" , "B" , "B" , "C" , "C" , "E" ],
55
+ " Destination" : ["A" , "B" , "A" , "B" , "A" , "B" , "F" ],
56
+ " Period" : ["AM" , "AM" , "IP" , "AM" , "OP" , "IP" , "AM" ],
57
+ " LinkType" : ["a" , "b" , "c" , "b" , "a" , "b" , "a" ],
58
+ " Distance" : [100 , 80 , 90 , 80 , 75 , 35 , 55 ],
59
59
},
60
60
columns = ["Origin" , "Destination" , "Period" , "LinkType" , "Distance" ],
61
61
).set_index (["Origin" , "Destination" , "Period" , "LinkType" ])
@@ -534,16 +534,16 @@ def test_join_multi_levels(self):
534
534
# merge multi-levels
535
535
household = DataFrame (
536
536
{
537
- ' household_id' : [1 , 2 , 3 ],
538
- ' male' : [0 , 1 , 0 ],
539
- ' wealth' : [196087.3 , 316478.7 , 294750 ],
537
+ " household_id" : [1 , 2 , 3 ],
538
+ " male" : [0 , 1 , 0 ],
539
+ " wealth" : [196087.3 , 316478.7 , 294750 ],
540
540
},
541
541
columns = ["household_id" , "male" , "wealth" ],
542
542
).set_index ("household_id" )
543
543
portfolio = DataFrame (
544
544
{
545
- ' household_id' : [1 , 2 , 2 , 3 , 3 , 3 , 4 ],
546
- ' asset_id' : [
545
+ " household_id" : [1 , 2 , 2 , 3 , 3 , 3 , 4 ],
546
+ " asset_id" : [
547
547
"nl0000301109" ,
548
548
"nl0000289783" ,
549
549
"gb00b03mlx29" ,
@@ -552,7 +552,7 @@ def test_join_multi_levels(self):
552
552
"nl0000289965" ,
553
553
np .nan ,
554
554
],
555
- ' name' : [
555
+ " name" : [
556
556
"ABN Amro" ,
557
557
"Robeco" ,
558
558
"Royal Dutch Shell" ,
@@ -561,27 +561,34 @@ def test_join_multi_levels(self):
561
561
"Postbank BioTech Fonds" ,
562
562
np .nan ,
563
563
],
564
- ' share' : [1.0 , 0.4 , 0.6 , 0.15 , 0.6 , 0.25 , 1.0 ],
564
+ " share" : [1.0 , 0.4 , 0.6 , 0.15 , 0.6 , 0.25 , 1.0 ],
565
565
},
566
566
columns = ["household_id" , "asset_id" , "name" , "share" ],
567
567
).set_index (["household_id" , "asset_id" ])
568
568
result = household .join (portfolio , how = "inner" )
569
569
expected = (
570
570
DataFrame (
571
571
{
572
- 'male' :[0 , 1 , 1 , 0 , 0 , 0 ],
573
- 'wealth' :[196087.3 , 316478.7 , 316478.7 , 294750.0 , 294750.0 , 294750.0 ],
574
- 'name' :[
572
+ "male" : [0 , 1 , 1 , 0 , 0 , 0 ],
573
+ "wealth" : [
574
+ 196087.3 ,
575
+ 316478.7 ,
576
+ 316478.7 ,
577
+ 294750.0 ,
578
+ 294750.0 ,
579
+ 294750.0 ,
580
+ ],
581
+ "name" : [
575
582
"ABN Amro" ,
576
583
"Robeco" ,
577
584
"Royal Dutch Shell" ,
578
585
"Royal Dutch Shell" ,
579
586
"AAB Eastern Europe Equity Fund" ,
580
587
"Postbank BioTech Fonds" ,
581
588
],
582
- ' share' : [1.00 , 0.40 , 0.60 , 0.15 , 0.60 , 0.25 ],
583
- ' household_id' : [1 , 2 , 2 , 3 , 3 , 3 ],
584
- ' asset_id' : [
589
+ " share" : [1.00 , 0.40 , 0.60 , 0.15 , 0.60 , 0.25 ],
590
+ " household_id" : [1 , 2 , 2 , 3 , 3 , 3 ],
591
+ " asset_id" : [
585
592
"nl0000301109" ,
586
593
"nl0000289783" ,
587
594
"gb00b03mlx29" ,
@@ -611,7 +618,7 @@ def test_join_multi_levels(self):
611
618
expected ,
612
619
(
613
620
DataFrame (
614
- {' share' : [1.00 ]},
621
+ {" share" : [1.00 ]},
615
622
index = MultiIndex .from_tuples (
616
623
[(4 , np .nan )], names = ["household_id" , "asset_id" ]
617
624
),
@@ -643,8 +650,8 @@ def test_join_multi_levels2(self):
643
650
# GH6360
644
651
household = DataFrame (
645
652
{
646
- ' household_id' : [1 , 2 , 2 , 3 , 3 , 3 , 4 ],
647
- ' asset_id' : [
653
+ " household_id" : [1 , 2 , 2 , 3 , 3 , 3 , 4 ],
654
+ " asset_id" : [
648
655
"nl0000301109" ,
649
656
"nl0000301109" ,
650
657
"gb00b03mlx29" ,
@@ -653,30 +660,36 @@ def test_join_multi_levels2(self):
653
660
"nl0000289965" ,
654
661
np .nan ,
655
662
],
656
- ' share' : [1.0 , 0.4 , 0.6 , 0.15 , 0.6 , 0.25 , 1.0 ],
663
+ " share" : [1.0 , 0.4 , 0.6 , 0.15 , 0.6 , 0.25 , 1.0 ],
657
664
},
658
665
columns = ["household_id" , "asset_id" , "share" ],
659
666
).set_index (["household_id" , "asset_id" ])
660
667
661
668
log_return = DataFrame (
662
669
{
663
- ' asset_id' : [
670
+ " asset_id" : [
664
671
"gb00b03mlx29" ,
665
672
"gb00b03mlx29" ,
666
673
"gb00b03mlx29" ,
667
674
"lu0197800237" ,
668
675
"lu0197800237" ,
669
676
],
670
- 't' :[233 , 234 , 235 , 180 , 181 ],
671
- 'log_return' :[0.09604978 , - 0.06524096 , 0.03532373 , 0.03025441 , 0.036997 ],
677
+ "t" : [233 , 234 , 235 , 180 , 181 ],
678
+ "log_return" : [
679
+ 0.09604978 ,
680
+ - 0.06524096 ,
681
+ 0.03532373 ,
682
+ 0.03025441 ,
683
+ 0.036997 ,
684
+ ],
672
685
}
673
686
).set_index (["asset_id" , "t" ])
674
687
675
688
expected = (
676
689
DataFrame (
677
690
{
678
- ' household_id' : [2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 ],
679
- ' asset_id' : [
691
+ " household_id" : [2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 ],
692
+ " asset_id" : [
680
693
"gb00b03mlx29" ,
681
694
"gb00b03mlx29" ,
682
695
"gb00b03mlx29" ,
@@ -686,9 +699,9 @@ def test_join_multi_levels2(self):
686
699
"lu0197800237" ,
687
700
"lu0197800237" ,
688
701
],
689
- 't' : [233 , 234 , 235 , 233 , 234 , 235 , 180 , 181 ],
690
- ' share' : [0.6 , 0.6 , 0.6 , 0.15 , 0.15 , 0.15 , 0.6 , 0.6 ],
691
- ' log_return' : [
702
+ "t" : [233 , 234 , 235 , 233 , 234 , 235 , 180 , 181 ],
703
+ " share" : [0.6 , 0.6 , 0.6 , 0.15 , 0.15 , 0.15 , 0.6 , 0.6 ],
704
+ " log_return" : [
692
705
0.09604978 ,
693
706
- 0.06524096 ,
694
707
0.03532373 ,
@@ -716,8 +729,8 @@ def test_join_multi_levels2(self):
716
729
expected = (
717
730
DataFrame (
718
731
{
719
- ' household_id' : [1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 , 3 , 4 ],
720
- ' asset_id' : [
732
+ " household_id" : [1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 , 3 , 4 ],
733
+ " asset_id" : [
721
734
"nl0000301109" ,
722
735
"nl0000301109" ,
723
736
"gb00b03mlx29" ,
@@ -731,8 +744,21 @@ def test_join_multi_levels2(self):
731
744
"nl0000289965" ,
732
745
None ,
733
746
],
734
- 't' :[None , None , 233 , 234 , 235 , 233 , 234 , 235 , 180 , 181 , None , None ],
735
- 'share' :[
747
+ "t" : [
748
+ None ,
749
+ None ,
750
+ 233 ,
751
+ 234 ,
752
+ 235 ,
753
+ 233 ,
754
+ 234 ,
755
+ 235 ,
756
+ 180 ,
757
+ 181 ,
758
+ None ,
759
+ None ,
760
+ ],
761
+ "share" : [
736
762
1.0 ,
737
763
0.4 ,
738
764
0.6 ,
@@ -746,7 +772,7 @@ def test_join_multi_levels2(self):
746
772
0.25 ,
747
773
1.0 ,
748
774
],
749
- ' log_return' : [
775
+ " log_return" : [
750
776
None ,
751
777
None ,
752
778
0.09604978 ,
0 commit comments