@@ -956,94 +956,56 @@ def test_unique(self):
956
956
check_dtype = False )
957
957
958
958
@pytest .mark .parametrize (
959
- "tc1, tc2" ,
959
+ 'keep, expected' ,
960
960
[
961
- (
962
- Series ([1 , 2 , 3 , 3 ], dtype = np .dtype ('int_' )),
963
- Series ([1 , 2 , 3 , 5 , 3 , 2 , 4 ], dtype = np .dtype ('int_' ))
964
- ),
965
- (
966
- Series ([1 , 2 , 3 , 3 ], dtype = np .dtype ('uint' )),
967
- Series ([1 , 2 , 3 , 5 , 3 , 2 , 4 ], dtype = np .dtype ('uint' ))
968
- ),
969
- (
970
- Series ([1 , 2 , 3 , 3 ], dtype = np .dtype ('float_' )),
971
- Series ([1 , 2 , 3 , 5 , 3 , 2 , 4 ], dtype = np .dtype ('float_' ))
972
- ),
973
- (
974
- Series ([1 , 2 , 3 , 3 ], dtype = np .dtype ('unicode_' )),
975
- Series ([1 , 2 , 3 , 5 , 3 , 2 , 4 ], dtype = np .dtype ('unicode_' ))
976
- )
977
- ]
978
- )
979
- def test_drop_duplicates_non_bool (self , tc1 , tc2 ):
980
- # Test case 1
981
- expected = Series ([False , False , False , True ])
982
- assert_series_equal (tc1 .duplicated (), expected )
983
- assert_series_equal (tc1 .drop_duplicates (), tc1 [~ expected ])
984
- sc = tc1 .copy ()
985
- sc .drop_duplicates (inplace = True )
986
- assert_series_equal (sc , tc1 [~ expected ])
987
-
988
- expected = Series ([False , False , True , False ])
989
- assert_series_equal (tc1 .duplicated (keep = 'last' ), expected )
990
- assert_series_equal (tc1 .drop_duplicates (keep = 'last' ), tc1 [~ expected ])
991
- sc = tc1 .copy ()
992
- sc .drop_duplicates (keep = 'last' , inplace = True )
993
- assert_series_equal (sc , tc1 [~ expected ])
994
-
995
- expected = Series ([False , False , True , True ])
996
- assert_series_equal (tc1 .duplicated (keep = False ), expected )
997
- assert_series_equal (tc1 .drop_duplicates (keep = False ), tc1 [~ expected ])
998
- sc = tc1 .copy ()
999
- sc .drop_duplicates (keep = False , inplace = True )
1000
- assert_series_equal (sc , tc1 [~ expected ])
1001
-
1002
- # Test case 2
1003
- expected = Series ([False , False , False , False , True , True , False ])
1004
- assert_series_equal (tc2 .duplicated (), expected )
1005
- assert_series_equal (tc2 .drop_duplicates (), tc2 [~ expected ])
1006
- sc = tc2 .copy ()
1007
- sc .drop_duplicates (inplace = True )
1008
- assert_series_equal (sc , tc2 [~ expected ])
1009
-
1010
- expected = Series ([False , True , True , False , False , False , False ])
1011
- assert_series_equal (tc2 .duplicated (keep = 'last' ), expected )
1012
- assert_series_equal (tc2 .drop_duplicates (keep = 'last' ), tc2 [~ expected ])
1013
- sc = tc2 .copy ()
1014
- sc .drop_duplicates (keep = 'last' , inplace = True )
1015
- assert_series_equal (sc , tc2 [~ expected ])
1016
-
1017
- expected = Series ([False , True , True , False , True , True , False ])
1018
- assert_series_equal (tc2 .duplicated (keep = False ), expected )
1019
- assert_series_equal (tc2 .drop_duplicates (keep = False ), tc2 [~ expected ])
1020
- sc = tc2 .copy ()
1021
- sc .drop_duplicates (keep = False , inplace = True )
1022
- assert_series_equal (sc , tc2 [~ expected ])
961
+ ('first' , Series ([False , False , False , False , True , True , False ])),
962
+ ('last' , Series ([False , True , True , False , False , False , False ])),
963
+ (False , Series ([False , True , True , False , True , True , False ]))
964
+ ])
965
+ @pytest .mark .parametrize ('npdtype' , ['int_' , 'uint' , 'float_' , 'unicode_' ])
966
+ def test_drop_duplicates_non_bool (self , npdtype , keep , expected ):
967
+ tc = Series ([1 , 2 , 3 , 5 , 3 , 2 , 4 ], dtype = np .dtype (npdtype ))
968
+
969
+ assert_series_equal (tc .duplicated (keep = keep ), expected )
970
+ assert_series_equal (tc .drop_duplicates (keep = keep ), tc [~ expected ])
971
+ sc = tc .copy ()
972
+ sc .drop_duplicates (keep = keep , inplace = True )
973
+ assert_series_equal (sc , tc [~ expected ])
1023
974
1024
- def test_drop_duplicates_bool (self ):
975
+ @pytest .mark .parametrize ('keep, expected' ,
976
+ [('first' , Series ([False , False , True , True ])),
977
+ ('last' , Series ([True , True , False , False ])),
978
+ (False , Series ([True , True , True , True ]))])
979
+ def test_drop_duplicates_bool (self , keep , expected ):
1025
980
tc = Series ([True , False , True , False ])
1026
981
1027
- expected = Series ([False , False , True , True ])
1028
- assert_series_equal (tc .duplicated (), expected )
1029
- assert_series_equal (tc .drop_duplicates (), tc [~ expected ])
982
+ assert_series_equal (tc .duplicated (keep = keep ), expected )
983
+ assert_series_equal (tc .drop_duplicates (keep = keep ), tc [~ expected ])
1030
984
sc = tc .copy ()
1031
- sc .drop_duplicates (inplace = True )
985
+ sc .drop_duplicates (keep = keep , inplace = True )
1032
986
assert_series_equal (sc , tc [~ expected ])
1033
987
1034
- expected = Series ([True , True , False , False ])
1035
- assert_series_equal (tc .duplicated (keep = 'last' ), expected )
1036
- assert_series_equal (tc .drop_duplicates (keep = 'last' ), tc [~ expected ])
1037
- sc = tc .copy ()
1038
- sc .drop_duplicates (keep = 'last' , inplace = True )
1039
- assert_series_equal (sc , tc [~ expected ])
988
+ @pytest .mark .parametrize ('keep, expected' , [
989
+ ('first' , Series ([False , False , True , False , True ], name = 'name' )),
990
+ ('last' , Series ([True , True , False , False , False ], name = 'name' )),
991
+ (False , Series ([True , True , True , False , True ], name = 'name' ))
992
+ ])
993
+ def test_duplicated_keep (self , keep , expected ):
994
+ s = Series (['a' , 'b' , 'b' , 'c' , 'a' ], name = 'name' )
1040
995
1041
- expected = Series ([True , True , True , True ])
1042
- assert_series_equal (tc .duplicated (keep = False ), expected )
1043
- assert_series_equal (tc .drop_duplicates (keep = False ), tc [~ expected ])
1044
- sc = tc .copy ()
1045
- sc .drop_duplicates (keep = False , inplace = True )
1046
- assert_series_equal (sc , tc [~ expected ])
996
+ result = s .duplicated (keep = keep )
997
+ tm .assert_series_equal (result , expected )
998
+
999
+ @pytest .mark .parametrize ('keep, expected' , [
1000
+ ('first' , Series ([False , False , True , False , True ])),
1001
+ ('last' , Series ([True , True , False , False , False ])),
1002
+ (False , Series ([True , True , True , False , True ]))
1003
+ ])
1004
+ def test_duplicated_nan_none (self , keep , expected ):
1005
+ s = Series ([np .nan , 3 , 3 , None , np .nan ], dtype = object )
1006
+
1007
+ result = s .duplicated (keep = keep )
1008
+ tm .assert_series_equal (result , expected )
1047
1009
1048
1010
def test_clip (self ):
1049
1011
val = self .ts .median ()
@@ -1416,7 +1378,8 @@ def test_ptp(self):
1416
1378
N = 1000
1417
1379
arr = np .random .randn (N )
1418
1380
ser = Series (arr )
1419
- assert np .ptp (ser ) == np .ptp (arr )
1381
+ with tm .assert_produces_warning (FutureWarning , check_stacklevel = False ):
1382
+ assert np .ptp (ser ) == np .ptp (arr )
1420
1383
1421
1384
# GH11163
1422
1385
s = Series ([3 , 5 , np .nan , - 3 , 10 ])
0 commit comments