CSE 163
Groupby & Indexing
Arpan Kapoor�Summer 2026��💭Icebreaker (discuss with neighbors):
What did you do over the long weekend?
Add to our Slido!
#2348882
Announcements
#2348882
DataFrame
| id | year | month | day | latitude | longitude | name | magnitude |
0 | nc72666881 | 2016 | 7 | 27 | 37.672333 | -121.619000 | California | 1.43 |
1 | us20006i0y | 2016 | 7 | 27 | 21.514600 | 94.572100 | Burma | 4.90 |
2 | nc72666891 | 2016 | 7 | 27 | 37.576500 | -118.859167 | California | 0.06 |
Index (row)
Columns
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
result = data.groupby(‘col1’)
A | 1 |
A | 4 |
B | 2 |
C | 3 |
C | 5 |
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
result = data.groupby(‘col1’)
A | 1 |
A | 4 |
B | 2 |
C | 3 |
C | 5 |
A Groupby DataFrame
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
A | 1 |
A | 4 |
B | 2 |
C | 3 |
C | 5 |
result = data.groupby(‘col1’)[‘col2’]
col2
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
A | 1 |
A | 4 |
B | 2 |
C | 3 |
C | 5 |
col2
result = data.groupby(‘col1’)[‘col2’].sum()
.sum()
.sum()
.sum()
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
col2
result = data.groupby(‘col1’)[‘col2’].sum()
B | 2 |
C | 8 |
A | 5 |
col2
#2348882
Groupby Demo
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
col2
result = data.groupby(‘col1’)[‘col2’].sum()
B | 2 |
C | 8 |
A | 5 |
#2348882
result = data.groupby('col1')['col2'].sum()
Data�DataFrame
Split
Apply
Combine�Series
| col1 | col2 |
0 | A | 1 |
1 | B | 2 |
2 | C | 3 |
3 | A | 4 |
4 | C | 5 |
| col2 |
C | 3 |
5 |
| col2 |
B | 2 |
| col2 |
A | 1 |
4 |
A | 5 |
B | 2 |
C | 8 |
A | 5 |
B | 2 |
C | 8 |
#2348882
Apply
data['name'].str.len()
data['name'].str.upper()
data['name'].apply(len) #Function as parameter
data['name'].apply(my_function) #Custom my_function
#2348882