@@ -199,7 +199,8 @@ def test_pass_args_kwargs(ts, tsframe):
199
199
def f (x , q = None , axis = 0 ):
200
200
return np .percentile (x , q , axis = axis )
201
201
202
- g = lambda x : np .percentile (x , 80 , axis = 0 )
202
+ def g (x ):
203
+ return np .percentile (x , 80 , axis = 0 )
203
204
204
205
# Series
205
206
ts_grouped = ts .groupby (lambda x : x .month )
@@ -422,7 +423,9 @@ def test_frame_groupby_columns(tsframe):
422
423
assert len (aggregated .columns ) == 2
423
424
424
425
# transform
425
- tf = lambda x : x - x .mean ()
426
+ def tf (x ):
427
+ return x - x .mean ()
428
+
426
429
groupedT = tsframe .T .groupby (mapping , axis = 0 )
427
430
tm .assert_frame_equal (groupedT .transform (tf ).T , grouped .transform (tf ))
428
431
@@ -1020,7 +1023,9 @@ def test_seriesgroupby_name_attr(df):
1020
1023
assert result .count ().name == "C"
1021
1024
assert result .mean ().name == "C"
1022
1025
1023
- testFunc = lambda x : np .sum (x ) * 2
1026
+ def testFunc (x ):
1027
+ return np .sum (x ) * 2
1028
+
1024
1029
assert result .agg (testFunc ).name == "C"
1025
1030
1026
1031
@@ -1102,7 +1107,9 @@ def test_series_grouper_noncontig_index():
1102
1107
grouped = values .groupby (labels )
1103
1108
1104
1109
# accessing the index elements causes segfault
1105
- f = lambda x : len (set (map (id , x .index )))
1110
+ def f (x ):
1111
+ return len (set (map (id , x .index )))
1112
+
1106
1113
grouped .agg (f )
1107
1114
1108
1115
@@ -2012,3 +2019,16 @@ def test_groups_repr_truncates(max_seq_items, expected):
2012
2019
2013
2020
result = df .groupby (np .array (df .a )).groups .__repr__ ()
2014
2021
assert result == expected
2022
+
2023
+
2024
+ def test_groupby_get_by_index ():
2025
+ # GH 33439
2026
+ df = pd .DataFrame ({
2027
+ "A" : ["S" , "W" , "W" ],
2028
+ "B" : [1.0 , 1.0 , 2.0 ],
2029
+ })
2030
+ res = df .groupby ("A" ).agg (
2031
+ {"B" : lambda x : x .get (x .index [- 1 ])}
2032
+ )
2033
+ expected = pd .DataFrame (dict (A = ["S" , "W" ], B = [1.0 , 2.0 ])).set_index ("A" )
2034
+ pd .testing .assert_frame_equal (res , expected )
0 commit comments