Python中用dataframe对象实现学生成绩数据的筛选,根据stus列表生成dataframe对象,将列表的第一行作为索引标签,列表的第一列作为行索引标签,查找并输出许动明的英语成绩,筛选出女生的成绩并记录
时间: 2024-03-24 12:39:34 浏览: 108
好的,我理解了你的问题。下面是使用Pandas库进行数据筛选的Python代码:
```python
import pandas as pd
# 学生成绩数据
stus = [['姓名', '性别', '语文', '数学', '英语'],
['许动明', '男', 88, 92, 86],
['李娜', '女', 90, 85, 92],
['王强', '男', 76, 80, 78],
['赵丽', '女', 85, 88, 90]]
# 将列表转换为dataframe对象
df = pd.DataFrame(stus[1:], columns=stus[0])
df = df.set_index('姓名')
# 查找许动明的英语成绩
english_score = df.loc['许动明', '英语']
print('许动明的英语成绩为:', english_score)
# 筛选女生的成绩并记录
female_scores = df[df['性别'] == '女'].loc[:, '语文':'英语']
print('女生的成绩为:\n', female_scores)
```
运行结果为:
```
许动明的英语成绩为: 86
女生的成绩为:
语文 数学 英语
姓名
李娜 90 85 92
赵丽 85 88 90
```
相关问题
python中将dataframe第一行作为索引
可以使用Pandas中的set_index()函数,将dataframe的第一行设置为索引。代码示例如下:
```python
import pandas as pd
# 创建一个样例dataframe
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
# 将第一行作为索引
df = df.set_index(df.iloc[0])
# 输出结果
print(df)
```
输出结果为:
```
name age
name
Alice Alice 25
Bob Bob 30
Charlie Charlie 35
```
python pandas dataframe对象根据列索引输出某范围的数据
要输出某个范围的数据,可以使用DataFrame的切片功能。下面是一个示例代码:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e'],
'C': [0.1, 0.2, 0.3, 0.4, 0.5]})
# 输出第2到第4行的所有数据
print(df.iloc[1:4, :])
# 输出第2到第4行的A和C列数据
print(df.loc[1:3, ['A', 'C']])
```
输出:
```
A B C
1 2 b 0.2
2 3 c 0.3
3 4 d 0.4
A C
1 2 0.2
2 3 0.3
3 4 0.4
```
上面的代码中,使用了不同的索引方式。`.iloc`使用了整数位置索引,可以根据行列的位置进行切片。而`.loc`使用了标签索引,可以根据行列的标签进行切片。可以根据实际情况选择不同的索引方式来输出数据。