python读取excel日期内容读出来是数字,python excel 日期字段 处理
在工作中,我们经常会使用excel来处理数据并展示出来,但是对于一些工作,我们可以借助程序来帮助实现,以达到高效解决问题的效果。
比如对接口返回的json进行解析并将结果保存在excel中,将excel中的数据按照一定的规则进行处理后写入新的excel文件,将来自多个文件的内容汇总到一个excel文件中等等。
平时工作中遇到繁琐的数据,需要把它写入excel。除非excel内置的公式可以处理,否则我会第一时间想到用python进行处理。
在处理海(大)体数据的时候,用Excel操作可能就没那么方便了,尤其是列很多,一个屏幕无法完全显示的情况下。如果能熟练掌握Python来操作Excel,可以大大提高我们的工作效率。
易于使用的炸药自动填充功能。
让我们模仿Excel,用熊猫来实现函数自动填充功能和计算列。
阅读文件并计算总价。
进口熊猫作为pd
#读取Excel文件
books=PD . read _ excel( book1 . xlsx ,index_col=ID )
印刷品(书籍)
************************
1单价、数量和总价
身份
1本书1 10.5 10南
2第二册11.0 10南
3本书3 11.5 10南
4本书4 12.0 10南
在Excel中,我们可以写函数,自动填充,比较方便。
然而,在Python中只需要一行代码。虽然看起来还是不如Excel操作快捷方便,但是当数据量较大,计算繁琐的时候,熊猫数据操作的优势就会凸显出来。
1.书籍[总价]=书籍[单价]*书籍[数量]
您也可以使用下面的语句。显然上面的方法简单,但是下面的方法非常适合从某一段开始计算。
2.for i in books.index: books[总价]。在[I]=书籍[单价]。在[I]*书籍[数量]。在[我]
运行结果:
1单价、数量和总价
身份
1本书1 10.5 10 105.0
2本书2 11.0 10 110.0
3本书3 11.5 10 115.0
4本书4 12.0 10 120.0
接下来,让我们每本书增加2元。
第一种方法:
书籍[单价]=书籍[单价] 2
第二种方法:使用lambda表达式。
书籍[单价]=书籍[单价]。应用(x:x ^ 2)
1单价、数量和总价
身份
1本书1 12.5 10 105.0
2本书2 13.0 10 110.0
3本书3 13.5 10 115.0
4本书4 14.0 10 120.0
你可以随意安排。
数据排序,函数sort_values用法:
DataFrame.sort_values(by=## ,axis=0,ascending=True,inplace=False,na_position=last )
参数描述:
参数描述
按列名(轴=0或“索引”)或索引值(轴=1或“列”)指定
如果axis axis=0或 index ,则按指定列的数据大小排序;如果axis=1或 columns ,将根据指定索引中的数据大小进行排序,默认axis=0。
ascending是否按指定列数组的升序排列,默认为True,即升序。
inplace是否用排序后的数据集替换原始数据,默认为False,即不替换。
Na_position {first , last},设置缺失值的显示位置。
让我们按降序排列价格。
将熊猫导入为PD products=PD . read _ excel( book2 . xlsx ,index_col=ID )
Products.sort_values(by= price ,inplace=True,ascending=False)
打印(产品)
重点:如果满足两个条件就需要按=[list]排序,不是很简单吗?
Products.sort_values(by=[是否值得购买,价格],inplace=true,ascending=[true,false])
运行结果:
ID价格值得买吗?
10产品10 201号
5产品5 65否
7产品7 45号
9产品9 199是
8产品8 156是
3产品3 123是
4产品4 111是
1产品1 100是
2产品2 88是
6产品6 76是
制图前准备、数据筛选和过滤(loc功能)
应用功能是熊猫所有功能中自由度最高的功能。
该功能如下所示:
Dataframe.apply (func,axis=0,broadcast=false,raw=false,reduce=none,args=(),* * kwds)这个函数最有用的参数是第一个参数,它是一个函数,相当于C/C的函数指针。
这个功能需要自己实现。函数的传入参数是根据轴来确定的,比如axis=1,一行数据会作为Series的数据结构传入到自己实现的函数中。我们在函数中实现数列不同属性之间的计算,并返回一个结果,然后apply函数会自动遍历DataFrame的每一行数据,最后将所有结果组合成一个数列数据结构并返回。
目的:阅读学生信息表,筛选出符合年龄段(18-20岁)和成绩(85-100分)的学生。
进口熊猫作为pd
定义18-20岁(年龄):
#18=age=20特定于Python的写作
返回18=年龄=20
定义级别(分数):
返回85=分数=100
stu=PD . read _ excel( students . xlsx ,index_col=ID )
Stu=stu.loc[stu[ age ]。申请(18-20岁)]。loc[stu[成就]。应用(级别)]
打印(stu)
运行结果:
姓名、年龄和成就
身份
李5 2 18 88
王3 19 86
可以对上面的代码进行优化,使用lambda表达式,尽量不使用函数,这样代码就简洁、高效、高大上了。
tall上的数据可视化
进口熊猫作为pd
将matplotlib.pyplot作为plt导入
#读取数据
stu=PD . read _ excel( students . xlsx ,index_col=ID )
#排序
Stu.sort_values(by=成就,inplace=真)
#生成直方图
Stu.plot.bar(x= name ,y= grade ,color=orange ,title=学生成绩单)
# or plt.bar(stu[ name ],stu[ grade ],color=orange )
#按下显示屏
plt.tight_layout()
#显示图片
plt.show()
学习Python必然会有困难。不要惊慌。我这里有一套学习资料,包括40本电子书和800个教学视频,内容涵盖Python基础、爬虫、框架、数据分析、机器学习等。我不怕你学不会!
https://shimo.im/docs/JWCghr8prjCVCxxK/《Python学习资料》
关注微信官方账号【Python圈子】,优质文章每日送。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。