@@ -449,20 +449,10 @@ def test_get_column_indices_pandas_nonunique_columns_error(key):
449
449
450
450
def test_get_column_indices_interchange ():
451
451
"""Check _get_column_indices for edge cases with the interchange"""
452
- pd = pytest .importorskip ("pandas" , minversion = "1.5 " )
452
+ pl = pytest .importorskip ("polars " )
453
453
454
- df = pd .DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = ["a" , "b" , "c" ])
455
-
456
- # Hide the fact that this is a pandas dataframe to trigger the dataframe protocol
457
- # code path.
458
- class MockDataFrame :
459
- def __init__ (self , df ):
460
- self ._df = df
461
-
462
- def __getattr__ (self , name ):
463
- return getattr (self ._df , name )
464
-
465
- df_mocked = MockDataFrame (df )
454
+ # Polars dataframes go down the interchange path.
455
+ df = pl .DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], schema = ["a" , "b" , "c" ])
466
456
467
457
key_results = [
468
458
(slice (1 , None ), [1 , 2 ]),
@@ -476,15 +466,15 @@ def __getattr__(self, name):
476
466
([], []),
477
467
]
478
468
for key , result in key_results :
479
- assert _get_column_indices (df_mocked , key ) == result
469
+ assert _get_column_indices (df , key ) == result
480
470
481
471
msg = "A given column is not a column of the dataframe"
482
472
with pytest .raises (ValueError , match = msg ):
483
- _get_column_indices (df_mocked , ["not_a_column" ])
473
+ _get_column_indices (df , ["not_a_column" ])
484
474
485
475
msg = "key.step must be 1 or None"
486
476
with pytest .raises (NotImplementedError , match = msg ):
487
- _get_column_indices (df_mocked , slice ("a" , None , 2 ))
477
+ _get_column_indices (df , slice ("a" , None , 2 ))
488
478
489
479
490
480
def test_resample ():
0 commit comments