根据学生信息表的结构创建一个 DataFrame 类的对象。 (2)根据年级一列对DataFrame 类对象的数据进行分组,并输出大一学生的分组信息 (3)分别找出大一到大四这四个年级中身高最高的同学 (4)计算大一学生与大三学生的平均体重。 写一个pandas
时间: 2024-09-25 13:05:09 浏览: 131
数据科学包——pandas基础(核心数据结构)
为了帮助你完成这个任务,假设我们有一个名为`student_info`的DataFrame,它包含学生的姓名(name),年级(year), 身高(height)和体重(weight)等字段。下面是根据你的需求一步步操作:
首先,创建DataFrame对象:
```python
import pandas as pd
# 假设data是一个字典列表,代表学生信息表
data = [
{'name': '张三', 'year': '大一', 'height': 175, 'weight': 60},
{'name': '李四', 'year': '大二', 'height': 180, 'weight': 70},
# 更多数据...
]
# 创建DataFrame
student_df = pd.DataFrame(data)
```
接下来按年级分组并输出大一学生的分组信息:
```python
grouped_by_year = student_df.groupby('year')
freshman_info = grouped_by_year.get_group('大一')
print(freshman_info)
```
找出每个年级中身高最高的同学:
```python
highest_height_students = {}
for year, group in grouped_by_year:
tallest_student = group.loc[group['height'].idxmax()]
highest_height_students[year] = tallest_student
print(highest_height_students)
```
计算大一和大三学生的平均体重:
```python
average_weight_freshmen = freshman_info['weight'].mean()
average_weight_third_year = grouped_by_year.get_group('大三')['weight'].mean()
print(f"大一学生的平均体重: {average_weight_freshmen}")
print(f"大三学生的平均体重: {average_weight_third_year}")
```
阅读全文