原始问题:
"学生成绩DataFrame操作:调整分数、新增学生与筛选输出"
首先,我们需要导入pandas库和random库,然后按照要求创建DataFrame。
import pandas as pd
import random
# 创建空的DataFrame
data = {'math': [], 'java': [], 'ai': [], 'python': []}
index = ['Li', 'Zhang', 'Zhao', 'Tom']
df = pd.DataFrame(data, index=index)
# 生成随机成绩
for subject in df.columns:
for student in df.index:
df.loc[student, subject] = random.randint(50, 100)
# 将姓名为Li的各科成绩加5分
df.loc['Li', 'math'] += 5
df.loc['Li', 'java'] += 5
df.loc['Li', 'ai'] += 5
df.loc['Li', 'python'] += 5
# 将所有人的math成绩减去3分
df['math'] -= 3
# 输出zhang和zhao的python和math成绩
print("Zhang's python and math scores:", df.loc['Zhang', 'python'], df.loc['Zhang', 'math'])
print("Zhao's python and math scores:", df.loc['Zhao', 'python'], df.loc['Zhao', 'math'])
# 添加一名同学Tom,各科成绩均为80分
df.loc['Tom'] = [80, 80, 80, 80]
# 输出Java高于90分的成绩
java_above_90 = df[df['java'] > 90]
print("Java scores above 90:")
print(java_above_90)这段代码首先创建了一个空的DataFrame,然后为每个学生生成了四门课的随机成绩。接着,按照要求对部分成绩进行了修改。最后,输出了特定学生的数学和计算机成绩,以及所有Java成绩高于90分的学生。
Prev:每天坚持阅读408、数据库、人工智能等相关书籍可能达到的预期成果 =