这是一个学生三次考试成绩登记表,现实现目标就是求出总成绩和平均成绩,如果大家有其他需求的话,可以参考。
import pandas as pd
datas = pd.read_excel('students.xlsx',index_col='ID')
#将三次成绩单独摘出来,数据处理的时候就比较方便
temp = datas[['test1','test2','test3']]
#求总成绩
datas['total']=temp.sum(axis=1)
#求平均成绩
datas['average']=temp.mean(axis=1)
#保存到Excel
datas.to_excel('students.xlsx')
print(datas)
统计函数还有很多,这里只是抛砖引玉,其他的都可以参照此方法,这里注意axis=1,表示逐行操作,axis=0表示逐列操作,根据需要进行选取。
如果我想求取所有列的平均值并添加到Excel最后一行,可以这么操作:
import pandas as pd
import matplotlib.pyplot as plt
datas = pd.read_excel('students.xlsx')
temp = datas[['test1','test2','test3']]
datas['total']=temp.sum(axis=1)
datas['average']=temp.mean(axis=1)
#求取所有列的平均值并添加到Excel最后一行
col_mean=datas[['test1','test2','test3','total','average']].mean(axis=0)
datas=datas.append(col_mean,ignore_index=True)
datas.to_excel('students.xlsx')
print(datas)
功能1:筛选出重复数据
功能2:去除重复数据
使用drop_duplicates去重,记得设置参数:inplace=True
import pandas as pd
datas = pd.read_excel('students.xlsx')
print('源数据:\n',datas)
dupe = datas.duplicated(subset='name')
dupe=dupe[dupe==True]
print('重复数据:\n',datas.iloc[dupe.index])
datas.drop_duplicates(subset='name',inplace=True)
print('去重后数据:\n',datas)
***********************************************************************
源数据:
name test1 test2 test3 total average
0 student_001 88 85 91 264 88.000000
1 student_003 59 56 77 192 64.000000
2 student_005 67 64 70 201 67.000000
3 student_007 78 75 81 234 78.000000
4 student_009 50 66 53 169 56.333333
5 student_011 90 87 84 261 87.000000
6 student_013 78 79 81 238 79.333333
7 student_015 76 75 79 230 76.666667
8 student_003 59 56 77 192 64.000000
9 student_005 67 64 70 201 67.000000
10 student_007 78 75 81 234 78.000000
重复数据:
name test1 test2 test3 total average
8 student_003 59 56 77 192 64.0
9 student_005 67 64 70 201 67.0
10 student_007 78 75 81 234 78.0
去重后数据:
name test1 test2 test3 total average
0 student_001 88 85 91 264 88.000000
1 student_003 59 56 77 192 64.000000
2 student_005 67 64 70 201 67.000000
3 student_007 78 75 81 234 78.000000
4 student_009 50 66 53 169 56.333333
5 student_011 90 87 84 261 87.000000
6 student_013 78 79 81 238 79.333333
7 student_015 76 75 79 230 76.666667
前段时间在B站观看《后浪》,视频确实不错,闲来时间将其视频中出现的所有弹幕抓取下来,去重后保存在上图显示的Excel中,第一行显示字幕,第二行显示的该字幕在视频中出现的次数。
需求:旋转数据表
import pandas as pd
datas = pd.read_excel('《后浪》弹幕的数据.xlsx')
table=datas.transpose()
table.to_excel('《后浪》弹幕的数据.xlsx')
其实,不难看出,pandas里面有许多好用的函数,熟练掌握后,玩转Excel那是很轻松的事情。
在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》
关注公众号【Python圈子】,优质文章每日送达。