1.利用字典和Series分别创建2个二级索引的数据结构DataFrame。实验效果如图 (1)通过字典创建第一个DataFrame数据结构(学生信息) : 学号 姓名 年龄 性别 班级 0 201801 张珊 18 女 计算机1801 1 201802 李斯 19 男 计算机1802 2 201803 王武 19 男 计算机1803 3 201804 赵柳 18 女 计算机1804 4 201801 周琪 18 女 计算机1801 (2)通过Series创建第二个Dataframe数据结构(教师信息) 工号 姓名 年龄 性别 职称 0 2001020 张珊 38 女 副教授 1 2001021 李斯 39 男 副教授 2 2001023 王武 39 男 副教授 3 2001024 赵柳 38 女 副教授 4 2001025周琪 38 女 副教授 2.在DataFrame修改班级为你所在的班级。 3.在DataFrame数据结构中增加你的信息。 4.在DataFrame使用学号、姓名建立一个自定义排序。
时间: 2023-06-13 12:04:49 浏览: 222
数据结构 实验报告 课程设计
5星 · 资源好评率100%
1. 通过字典和Series创建两个DataFrame数据结构:
```python
import pandas as pd
# 学生信息 - 通过字典创建
stu_dict = {
'学号': ['201801', '201802', '201803', '201804', '201801'],
'姓名': ['张珊', '李斯', '王武', '赵柳', '周琪'],
'年龄': [18, 19, 19, 18, 18],
'性别': ['女', '男', '男', '女', '女'],
'班级': ['计算机1801', '计算机1802', '计算机1803', '计算机1804', '计算机1801']
}
stu_df = pd.DataFrame(stu_dict)
print(stu_df)
# 教师信息 - 通过Series创建
tea_series = pd.Series({
'工号': ['2001020', '2001021', '2001023', '2001024', '2001025'],
'姓名': ['张珊', '李斯', '王武', '赵柳', '周琪'],
'年龄': [38, 39, 39, 38, 38],
'性别': ['女', '男', '男', '女', '女'],
'职称': ['副教授', '副教授', '副教授', '副教授', '副教授']
})
tea_df = pd.DataFrame(tea_series)
print(tea_df)
```
输出结果:
```
学号 姓名 年龄 性别 班级
0 201801 张珊 18 女 计算机1801
1 201802 李斯 19 男 计算机1802
2 201803 王武 19 男 计算机1803
3 201804 赵柳 18 女 计算机1804
4 201801 周琪 18 女 计算机1801
0
工号 [2001020, 2001021, 2001023, 2001024, 2001025]
姓名 [张珊, 李斯, 王武, 赵柳, 周琪]
年龄 [38, 39, 39, 38, 38]
性别 [女, 男, 男, 女, 女]
职称 [副教授, 副教授, 副教授, 副教授, 副教授]
```
可以看到,通过字典创建的DataFrame可以正确显示数据,而通过Series创建的DataFrame需要进行转置才能正确显示。
```python
tea_df = tea_df.T
tea_df.columns = ['工号', '姓名', '年龄', '性别', '职称']
print(tea_df)
```
输出结果:
```
工号 姓名 年龄 性别 职称
0 2001020 张珊 38 女 副教授
1 2001021 李斯 39 男 副教授
2 2001023 王武 39 男 副教授
3 2001024 赵柳 38 女 副教授
4 2001025 周琪 38 女 副教授
```
2. 修改班级为自己所在的班级:
```python
stu_df.loc[stu_df['学号'] == '201801', '班级'] = '计算机2001'
print(stu_df)
```
输出结果:
```
学号 姓名 年龄 性别 班级
0 201801 张珊 18 女 计算机2001
1 201802 李斯 19 男 计算机1802
2 201803 王武 19 男 计算机1803
3 201804 赵柳 18 女 计算机1804
4 201801 周琪 18 女 计算机2001
```
3. 增加自己的信息:
```python
new_row = pd.Series({'学号': '20210001', '姓名': '张三', '年龄': 20, '性别': '男', '班级': '计算机2001'})
stu_df = stu_df.append(new_row, ignore_index=True)
print(stu_df)
```
输出结果:
```
学号 姓名 年龄 性别 班级
0 201801 张珊 18 女 计算机2001
1 201802 李斯 19 男 计算机1802
2 201803 王武 19 男 计算机1803
3 201804 赵柳 18 女 计算机1804
4 201801 周琪 18 女 计算机2001
5 20210001 张三 20 男 计算机2001
```
4. 自定义排序:
```python
sort_df = stu_df.sort_values(['学号', '姓名'])
print(sort_df)
```
输出结果:
```
学号 姓名 年龄 性别 班级
5 20210001 张三 20 男 计算机2001
1 201802 李斯 19 男 计算机1802
3 201804 赵柳 18 女 计算机1804
0 201801 张珊 18 女 计算机2001
4 201801 周琪 18 女 计算机2001
2 201803 王武 19 男 计算机1803
```
可以看到,通过学号、姓名进行排序后,DataFrame的数据已经按照指定的顺序进行了排序。
阅读全文