import pandas as pd
df = pd.DataFrame({'性别' : ['男', '女', '男', '女',
'男', '女', '男', '男'],
'成绩' : ['优秀', '优秀', '及格', '差',
'及格', '及格', '优秀', '差'],
'年龄' : [15,14,15,12,13,14,15,16]})
print(df)
性别 成绩 年龄
0 男 优秀 15
1 女 优秀 14
2 男 及格 15
3 女 差 12
4 男 及格 13
5 女 及格 14
6 男 优秀 15
7 男 差 16
GroupBy=df.groupby("性别")
for name,group in GroupBy:
print(name)
print(group)
print(GroupBy.get_group("男"))
for name,gg in GroupBy:
print(name)# 获得所有分组的名称
print(GroupBy.get_group(name))
女
性别 成绩 年龄
1 女 优秀 14
3 女 差 12
5 女 及格 14
男
性别 成绩 年龄
0 男 优秀 15
2 男 及格 15
4 男 及格 13
6 男 优秀 15
7 男 差 16
性别 成绩 年龄
0 男 优秀 15
2 男 及格 15
4 男 及格 13
6 男 优秀 15
7 男 差 16
女
性别 成绩 年龄
1 女 优秀 14
3 女 差 12
5 女 及格 14
男
性别 成绩 年龄
0 男 优秀 15
2 男 及格 15
4 男 及格 13
6 男 优秀 15
7 男 差 16
GroupBy.groups
显示分组的组名,以及所对应的索引
GroupBy.indices
类似于GroupBy.groups
print(GroupBy.indices)
print(GroupBy.indices)
{'女': array([1, 3, 5], dtype=int64), '男': array([0, 2, 4, 6, 7], dtype=int64)}
{'女': array([1, 3, 5], dtype=int64), '男': array([0, 2, 4, 6, 7], dtype=int64)}