df = pd.DataFrame(arr,index=range(1,5001),columns=['math','eng','compu']) df.where(df<100,100,inplace=True) df_85=df[(df['math']>85)&(df['eng']>85)&(df['compu']>85)] for i in df_85.index: print('索引号:{}, math成绩:{}, eng成绩:{}, compu成绩: {}'.format(i,df_85.loc[i,'math'],df_85.loc[i,'eng'],df_85.loc[i,'compu'])) dmin=df.min() dm=df.mean() print("三门课程最低分: math成绩:{}, eng成绩:{}, compu成绩:{}".format(dmin['math'], dmin['eng'], dmin['compu'])) print("三门课程平均分: math成绩:{:.1f}, eng成绩:{:.1f}, compu成绩: {:.1f}".format(dm['math'], dm['eng'], dm['compu']))
时间: 2023-09-11 22:06:02 浏览: 91
pandas通过字典生成dataframe的方法步骤
这段代码主要是使用Pandas对三门课程的成绩进行处理,包括生成DataFrame、筛选符合条件的成绩、计算最低分和平均分等。具体的解释如下:
- 第一行代码中,`pd.DataFrame()`方法用于生成一个名为`df`的DataFrame对象,其中包含了学生的数学、英语和计算机三门课程的成绩。`arr`是之前生成的长度为5000的整型数组,通过指定`index`和`columns`参数,来指定DataFrame的行和列的标签。
- 第二行代码中,`df.where()`方法用于将DataFrame中大于100的元素全部替换为100,这是为了将超过100分的成绩进行限制,确保成绩的合法性。`inplace=True`表示在原DataFrame上进行修改。
- 第三行代码中,`df_85`是一个新的DataFrame对象,包含了三门课程成绩均大于85分的学生的信息。这里使用了`df['math']>85`、`df['eng']>85`和`df['compu']>85`三个条件来进行筛选,`&`表示逻辑与关系。
- 第四行代码中,`for`循环遍历了`df_85`中所有符合条件的学生的索引号,并打印了他们的数学、英语和计算机三门课程的成绩。
- 第五行代码中,`dmin=df.min()`计算了三门课程的最低分,并将结果存储在`dmin`中。
- 第六行代码中,`dm=df.mean()`计算了三门课程的平均分,并将结果存储在`dm`中。
- 第七行代码中,使用`print()`函数输出了最低分和平均分的信息,其中使用了`str.format()`方法来格式化输出字符串。
需要注意的是,以上代码中的变量名和数据内容都是示例,实际应用中需要根据具体的需求进行修改和调整。
阅读全文