Python学习日记-pandas操作学习

这篇博客主要介绍了使用Python的pandas库进行数据筛选、绘图以及数据处理的各种方法,包括柱状图、饼状图、折线图等的绘制,数据验证、拆分、求和、平均值计算,以及数据读写、删除重复项、行列操作等。
摘要由CSDN通过智能技术生成

根据需求筛选数据

# Company:ZTE
# Author:Wanle
# Time:2020/9/28 0028 10:04
import pandas as pd #导入pandas模块并命名为pd
def age_18_to_30(age): #定义年龄在18-30岁之间学生的函数
    return 18<=age<30
def leave_A(score): #定义分数在85-100之间的成绩为A类的学生
    return 85<=score<=100
stu=pd.read_excel('E:\\工作日志\\Python\\ExcelResource\\filter.xlsx',index_col='ID') #读取Excel中的数据并以表格中的ID列作为索引
stu=stu.loc[stu['Age'].apply(age_18_to_30)] #利用loc函数取数据,取到的数据是一个新的dataframe,apply()中直接给函数名即可
stu=stu.loc[stu.Age.apply(age_18_to_30)] #这种写法也可以
stu=stu.loc[stu['Age'].apply(age_18_to_30)].loc[stu['Score'].apply(leave_A)] #筛选出年龄在18~30岁之间成绩在85~100分之间的学生
stu=stu.loc[stu['Age'].apply(lambda age:18<=age<30)].loc[stu['Score'].apply(lambda score:85<=score<=100)]  #用lambda表达式也可
print(stu)

绘制柱状图-利用pandas绘制

# Company:ZTE
# Author:Wanle
# Time:2020/10/6 0006 21:25
import pandas as pd
import matplotlib.pyplot as pl
stu=pd.read_excel('E:\\工作日志\\Python\\ExcelResource\\field.xlsx')
stu.sort_values(by='Number',inplace=True,ascending=False) #按Number列进行升序排序,且不生成新的dataframe
stu.plot.bar(x='Field',y='Number',color='orange',title='Students Field') #以Field为横轴,Number为纵轴绘图,以橘黄色填充柱状图
pl.show()

绘制柱状图-利用matplotlib绘制

# Company:ZTE
# Author:Wanle
# Time:2020/10/6 0006 21:25
import pandas as pd
import matplotlib.pyplot as pl
stu=pd.read_excel('E:\\工作日志\\Python\\ExcelResource\\field.xlsx')
stu.sort_values(by='Number',inplace=True,ascending=False) #按Number列进行升序排序,且不生成新的dataframe
pl.bar(stu.Field,stu.Number,color='orange') # 绘制柱状图
pl.xticks(stu.Field,rotation='90') # 将横坐标标签旋转90度
pl.xlabel('Field') # 给柱状图添加横标签
pl.ylabel('Number') # 给柱状图添加纵标签
pl.title('Students Field',fontSize=16) # 给柱状图添加标题
pl.show()

绘制柱状图-两组数据比较

# Company:ZTE
# Author:Wanle
# Time:2020/10/8 0008 10:30
import pandas as pd
import matplotlib.pyplot as pl
stu=pd.read_excel('E:\\工作日志\\Python\\ExcelResource\\compare.xlsx')
stu.sort_values(by='2016Year',inplace=True,ascending=True)
stu.plot.bar(x='Field',y=['2016Year','2017Year'],color=['green','red']) #设置两组数据对比作图
pl.title('Students Field',fontsize=16) #设置图标标题和字体大小
pl.xlabel('Field') #设置横坐标标签
pl.ylabel('Number') #设置纵坐标标签
pl.gca().set_xticklabels(stu.Field,rotation='45',ha='right') #旋转纵坐标45度
pl.gcf().subplots_adjust(left=0.2,bottom=0.4)
pl.show()

绘制柱状图-叠加柱状图

# Company:ZTE
# Author:Wanle
# Time:2020/10/8 0008 11:07
import pandas as pd
import matplotlib.pyplot as pl
user=pd.read_excel('E:/工作日志/Python/ExcelResource/overlay.xlsx',index_col='ID')
user['Total']=user['Oct']+user['Nov']+user['Dec'] #在dataframe中新添加一列求和列
user.sort_values(by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值