@@ -1834,10 +1834,10 @@ def test_filter(self):
1834
1834
self .assert_eq (kdf .filter (like = 'b' , axis = 'index' ), pdf .filter (like = 'b' , axis = 'index' ))
1835
1835
self .assert_eq (kdf .filter (like = 'c' , axis = 'columns' ), pdf .filter (like = 'c' , axis = 'columns' ))
1836
1836
1837
- self .assert_eq (
1838
- kdf . filter ( regex = 'b.*' , axis = 'index' ), pdf .filter (regex = 'b.*' , axis = 'index' ))
1839
- self .assert_eq (
1840
- kdf . filter ( regex = 'b.*' , axis = 'columns' ), pdf .filter (regex = 'b.*' , axis = 'columns' ))
1837
+ self .assert_eq (kdf . filter ( regex = 'b.*' , axis = 'index' ),
1838
+ pdf .filter (regex = 'b.*' , axis = 'index' ))
1839
+ self .assert_eq (kdf . filter ( regex = 'b.*' , axis = 'columns' ),
1840
+ pdf .filter (regex = 'b.*' , axis = 'columns' ))
1841
1841
1842
1842
pdf = pdf .set_index ('ba' , append = True )
1843
1843
kdf = ks .from_pandas (pdf )
@@ -1863,6 +1863,33 @@ def test_filter(self):
1863
1863
with self .assertRaisesRegex (TypeError , "mutually exclusive" ):
1864
1864
kdf .filter (regex = 'b.*' , like = "aaa" )
1865
1865
1866
+ # multi-index columns
1867
+ pdf = pd .DataFrame ({
1868
+ ('x' , 'aa' ): ['aa' , 'ab' , 'bc' , 'bd' , 'ce' ],
1869
+ ('x' , 'ba' ): [1 , 2 , 3 , 4 , 5 ],
1870
+ ('y' , 'cb' ): [1. , 2. , 3. , 4. , 5. ],
1871
+ ('z' , 'db' ): [1. , np .nan , 3. , np .nan , 5. ],
1872
+ })
1873
+ pdf = pdf .set_index (('x' , 'aa' ))
1874
+ kdf = ks .from_pandas (pdf )
1875
+
1876
+ self .assert_eq (
1877
+ kdf .filter (items = ['ab' , 'aa' ], axis = 0 ).sort_index (),
1878
+ pdf .filter (items = ['ab' , 'aa' ], axis = 0 ).sort_index ())
1879
+ self .assert_eq (
1880
+ kdf .filter (items = [('x' , 'ba' ), ('z' , 'db' )], axis = 1 ).sort_index (),
1881
+ pdf .filter (items = [('x' , 'ba' ), ('z' , 'db' )], axis = 1 ).sort_index ())
1882
+
1883
+ self .assert_eq (kdf .filter (like = 'b' , axis = 'index' ),
1884
+ pdf .filter (like = 'b' , axis = 'index' ))
1885
+ self .assert_eq (kdf .filter (like = 'c' , axis = 'columns' ),
1886
+ pdf .filter (like = 'c' , axis = 'columns' ))
1887
+
1888
+ self .assert_eq (kdf .filter (regex = 'b.*' , axis = 'index' ),
1889
+ pdf .filter (regex = 'b.*' , axis = 'index' ))
1890
+ self .assert_eq (kdf .filter (regex = 'b.*' , axis = 'columns' ),
1891
+ pdf .filter (regex = 'b.*' , axis = 'columns' ))
1892
+
1866
1893
def test_pipe (self ):
1867
1894
kdf = ks .DataFrame ({'category' : ['A' , 'A' , 'B' ],
1868
1895
'col1' : [1 , 2 , 3 ],
0 commit comments