@@ -199,7 +199,7 @@ 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 ): return np .percentile (x , 80 , axis = 0 )
203
203
204
204
# Series
205
205
ts_grouped = ts .groupby (lambda x : x .month )
@@ -422,7 +422,7 @@ def test_frame_groupby_columns(tsframe):
422
422
assert len (aggregated .columns ) == 2
423
423
424
424
# transform
425
- tf = lambda x : x - x .mean ()
425
+ def tf ( x ): return x - x .mean ()
426
426
groupedT = tsframe .T .groupby (mapping , axis = 0 )
427
427
tm .assert_frame_equal (groupedT .transform (tf ).T , grouped .transform (tf ))
428
428
@@ -1020,7 +1020,7 @@ def test_seriesgroupby_name_attr(df):
1020
1020
assert result .count ().name == "C"
1021
1021
assert result .mean ().name == "C"
1022
1022
1023
- testFunc = lambda x : np .sum (x ) * 2
1023
+ def testFunc ( x ): return np .sum (x ) * 2
1024
1024
assert result .agg (testFunc ).name == "C"
1025
1025
1026
1026
@@ -1102,7 +1102,7 @@ def test_series_grouper_noncontig_index():
1102
1102
grouped = values .groupby (labels )
1103
1103
1104
1104
# accessing the index elements causes segfault
1105
- f = lambda x : len (set (map (id , x .index )))
1105
+ def f ( x ): return len (set (map (id , x .index )))
1106
1106
grouped .agg (f )
1107
1107
1108
1108
@@ -2012,3 +2012,16 @@ def test_groups_repr_truncates(max_seq_items, expected):
2012
2012
2013
2013
result = df .groupby (np .array (df .a )).groups .__repr__ ()
2014
2014
assert result == expected
2015
+
2016
+
2017
+ def test_groupby_get_by_index ():
2018
+ # GH 33439
2019
+ df = pd .DataFrame ({
2020
+ "A" : ["S" , "W" , "W" ],
2021
+ "B" : [1 , 1 , 2 ],
2022
+ })
2023
+ res = df .groupby ("A" ).agg (
2024
+ {"B" : lambda x : x .get (x .index [- 1 ])}
2025
+ )
2026
+ expected = pd .DataFrame (dict (A = ["S" , "W" ], B = [1.0 , 2.0 ])).set_index ("A" )
2027
+ pd .testing .assert_frame_equal (res , expected )
0 commit comments