Python玩转Excel:统计函数

一、统计函数初探

Python玩转Excel:统计函数_第1张图片

这是一个学生三次考试成绩登记表,现实现目标就是求出总成绩和平均成绩,如果大家有其他需求的话,可以参考。

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)

Python玩转Excel:统计函数_第2张图片

统计函数还有很多,这里只是抛砖引玉,其他的都可以参照此方法,这里注意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)

Python玩转Excel:统计函数_第3张图片

二、数据去重

功能1:筛选出重复数据

  • 使用用duplicated函数判断是否有重复项,返回一组bool值,TRUE表示重复
  • dupe=dupe[dupe==True]筛选出重复项,dupe.index重复项索引
  • 使用iloc函数datas.iloc[dupe.index]获取出重复列

功能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

三、旋转数据表

Python玩转Excel:统计函数_第4张图片

前段时间在B站观看《后浪》,视频确实不错,闲来时间将其视频中出现的所有弹幕抓取下来,去重后保存在上图显示的Excel中,第一行显示字幕,第二行显示的该字幕在视频中出现的次数。

需求:旋转数据表

import  pandas as pd
datas = pd.read_excel('《后浪》弹幕的数据.xlsx')
table=datas.transpose()
table.to_excel('《后浪》弹幕的数据.xlsx')

Python玩转Excel:统计函数_第5张图片

其实,不难看出,pandas里面有许多好用的函数,熟练掌握后,玩转Excel那是很轻松的事情。

在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》

关注公众号【Python圈子】,优质文章每日送达。

Python玩转Excel:统计函数_第6张图片

你可能感兴趣的:(Python玩转Excel:统计函数)