![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习笔记
旋转小马
这个作者很懒,什么都没留下…
展开
-
python学习笔记之explode()函数
详情可查看官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.explode.html。函数作用:将类列表的每个元素转换为行,实现列转行的功能,可处理列表、元组、Series等类型。Step2:将被explode的列的元素,变为list like。Step1:构建测试数据。......原创 2022-08-26 14:16:18 · 5780 阅读 · 6 评论 -
python中@staticmethod静态方法小解
背景开始看到python中staticmethod方法时也不是很理解,上手敲一敲发现带不带@staticmethod,没啥明显区别,就上网搜一搜资料,简单整理记录下。先看没有使用staticmethod时,要先实例化对象,才能调用其方法,否则便会像第二张图一样报错;再来看使用staticmethod方法时此时可以发现,方法run的参数并非是self参数,改成self参数后如下会报错,此时的run方法不能访问类的属性;小结python中@stati.原创 2022-05-24 17:41:39 · 1173 阅读 · 3 评论 -
dataframe直接写入数据库
背景:在用python做一些分析任务时,尤其是一些定时任务,经常需要把数据结果写入到数据库中,方便他人使用,以往经常使用的方法是遍历每条数据,然后插入到数据库中,现在记录另一种方式,"to_sql",把dataframe直接存入数据库实现方式:对于mysql库import pymysql as psqfrom sqlalchemy import create_engine# username、passwd 数据库账号密码# 192.168.3.10 1540 数据库的ip和端原创 2022-04-20 10:05:12 · 5162 阅读 · 0 评论 -
python使用smtplib库实现自动发送邮件
需求场景:很多时候我们需要对服务器上的某些任务的运行状况进行预警,或者跑出结果来需要第一时间拿到结果,此时在可以链接外网的情况下,我们便可以利用python的smtplib库实现自动发送邮件。实现代码:#!/usr/bin/env python# -*- encoding: utf-8 -*-'''@File : email_test@Time : 2022/01/13 14:17:31@Author : Wang Yu'''import smtplibf原创 2022-01-13 15:11:17 · 660 阅读 · 0 评论 -
pycharm使用小技巧-插入代码/默认模板
每次用pycharm写代码的时候前面几行代码都要重复写,作为一名新生代民工,对于这种重复性工作当然是能省略就省略的了,未设置前,我们新建一python文件都是空白的,如下图而设置好之后的样子如下,新建之后便是我们想要的模板设置步骤如下,先找到Preferences,然后按照如下右图的步骤,在第三步的地方写上自己需要的内容便可。...原创 2022-01-06 01:00:24 · 1166 阅读 · 15 评论 -
python学习笔记之读取word文件库docx
前面记录了两篇python操作pdf的文章,今天整理下python操作word文档的库docx,我遇到的需求是提取word中的文字内容,并匹配一些特定字符串,接下来先安装:pip install docx # 经过测试,我直接安装docx,后续也能正常使用# 在网上查找资料的时候,看网上很多人写的是要安装 python-docxpip install python-docx所以当我们遇到问题是,第一种安装方式如果行不通的话,就按照第二种方式来,我们是以结果为导向,以解决问题为目标。接下来原创 2021-12-23 11:18:49 · 1496 阅读 · 0 评论 -
python学习笔记之读取pdf文件库pdfminer(二)
上一节中介绍了抽取PDF文本及表格的库pdfplumber,今天介绍另外一个PDF解析库:pdfminer安装pip install pdfminer3k# 或者利用国内镜像源来获取pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pdfminer3k注意:python2中是pdfminer,python3中是pdfminer3k读取PDF文本在网上搜了一圈的资料,实现代码如下:from pdfminer.pdf原创 2021-12-10 16:45:50 · 4042 阅读 · 0 评论 -
python读取json文件报错“AttributeError: ‘str‘ object has no attribute ‘read‘”
遇到问题:在使用python包json,load文件时,报错:AttributeError: 'str' object has no attribute 'read'import jsondata = json.load("社区图层_wgs84_修正街道ID.geojson",encoding='utf8')具体问题如下截图解决办法:import jsonwith open("社区图层_wgs84_修正街道ID.geojson",encoding='utf8') as f..原创 2021-12-15 14:06:55 · 5576 阅读 · 0 评论 -
python学习笔记之读取pdf文件库pdfplumber(一)
python现在处理word、Excel、pdf等文档有很多的库,今天学习一个处理pdf的库:pdfplumber,主要学习提取文本内容和表格。安装pip install pdfplumber提取文本 extract_text()import pdfplumber# 打开一PDF文档,比如打开《浪潮之巅》pdf = pdfplumber.open('浪潮之巅.pdf')# 提取第一页的本文内容text = pdf.pages[0].extract_text()print(tex原创 2021-12-07 14:56:21 · 2863 阅读 · 1 评论 -
python学习笔记之内建函数 isinstance()
描述:isinstance()函数用来判断一个对象是否是一个已知的类型,类似于type()isinstance() 与 type() 的区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。判断两者类型是否相同,推荐使用isinstance() 。示例:a = 123isinstance(a,int)>>> Trueisinstance(a,st...原创 2021-11-11 17:48:06 · 628 阅读 · 0 评论 -
anaconda3 安装geopandas,以及依赖包shapely、gdal、pyproj、fiona
版本号:Windows 10专业版anaconda3 python 3.8.8开始时的报错信息没有保存下来,pip install 和conda install 都同样安装报错,好像是如下报错信息:conda install geopandasCollecting package metadata (current_repodata.json): doneSolving environment: failed with initial frozen solve. Retrying ..原创 2021-11-05 13:25:50 · 3835 阅读 · 12 评论 -
python学习笔记之-展平函数ravel和flatten及两者的区别
ravel()和flatten()是将多维数据展平为一维数据,功能相同,区别在于一个是复制操作,一个是引用操作。ravel()展平数据后,修改后面的数据会影响前面的数据,而flatten()展平数据后,不会影响前面的数据。代码如下:import numpy as npa = np.arange(15).reshape(3,5)a>>> array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10,原创 2021-10-27 15:44:06 · 4750 阅读 · 2 评论 -
异常值&离群点检测算法---箱线图四分位检测
一、四分位距检测法介绍在数据处理的过程中,异常值的检测和处理是一个较小的分支,检测的方法也有很多种,本文只介绍其中一种:四分位距法,虽然常见但功能强大。这种方法是利用箱线图的四分位距(IQR)对异常值进行检测,也叫Tukey`s test。其提供了识别异常值的一个标准:异常值通常被定义为小于QL-1.5IQR 或QU+1.5IQR。QL:下四分位数,表示全部观察值中有四分之一的数据取值比它小; QU:上四分位数,表示全部观察值中有四分之一的数据取值比它大; IQR:四分位间距,是上四分位数.原创 2021-10-25 15:48:56 · 12464 阅读 · 5 评论 -
python pd.read_html读取数据不完整
问题:有一个较大的表格数据存在了html中,打算用read_html直接取出来这部分数据,但后来发现read_html读取的数据不完整,后来检查html的table都没有任何问题解决办法:pd.read_html的默认解析器为 'lxml' ,添加参数flavor='bs4'便可解决...原创 2021-10-21 10:18:42 · 1650 阅读 · 0 评论 -
python取整的几种常见方式-向上取整、向下取整、四舍五入取整、int()取整、“//”整除取整
python使用中会遇到几种取整的情况,现在整理一下,以供以后学习参考。一、向上取整,所有小数都是向着数值更大的方向取整,不论正负。math.ceil()import mathmath.ceil(0.4)>>> 1math.ceil(1.8)>>> 2math.ceil(-1.8)>>> -1二、向下取整,所有小数都是向着数值更小的方向取整,不论正负。math.floor()math.floor(1.8)原创 2021-10-15 00:34:37 · 26515 阅读 · 2 评论 -
python 中“if __name__==‘__main__‘: ”作用和原理
脚本里面经常能看到这句 “if __name__=='__main__':” ,对这段代码的理解一直比较模糊,今天有空,查看了一些资料,先记下以作日后查看。一、实现效果首先看这段代码的实现效果,大家都知道我们的python代码既可以作为脚本单独运行,也可以被其python脚本 import 调用,而 “if __name__=='__main__':” 的作用便是控制这两种情况下执行代码的过程,举例:新建文件:test_a.py#!/usr/bin/env python# _*_ enc原创 2021-09-10 15:17:42 · 306 阅读 · 0 评论 -
python学习笔记之-melt和pivot函数
melt:英文融化、溶解pivot:英文旋转,以...为中心旋转两者经常用于数据的长宽表转换、数据的规整,与Excel的数据透视功能类似示例如下:import pandas as pddf = pd.DataFrame({ 'sd_date': ['20210825','20210826','20210827'], 'name': ['zhangsan', 'lisi', 'wangwu'], 'key1':原创 2021-08-27 10:01:11 · 4284 阅读 · 2 评论 -
python UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题
问题描述:服务器单独运行脚本没问题,跑定时任务时报错内容为:UnicodeEncodeError: 'ascii' codec can't encode characters in position报错原因:python使用cx_Oracle包执行读取sql语句时,由于sql中出现了汉字而抱编码相关错误解决办法:程序开头加入下列两行代码import osos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'并把 " n原创 2021-08-23 12:54:39 · 1808 阅读 · 1 评论 -
python cx_Oracle.DatabaseError: Error while trying to retrieve text for error ORA-01804
问题描述:在使用python的包cx_Oracle时,服务器上设置定时任务时总报错,报错内容如标题,但单独运行没问题解决方法:经大佬指点,在脚本前加上几行代码,完美解决,环境变量路径根据自己的路径配置。import osos.environ["ORACLE_HOME"] = '/home/oracle/app/oracle/product/11.2.0/dbhome_1'os.environ["ORACLE_BASE"] = '/home/oracle/app/oracle'os.原创 2021-08-20 16:01:40 · 2657 阅读 · 0 评论 -
python map函数
map()会根据提供的函数对指定的序列做映射语法:map(function, iterable,map(function, iterable, ...)原创 2021-05-31 10:16:29 · 91 阅读 · 0 评论 -
pymysql 参数详解及使用
python使用pymysql库连接MySQL数据库命令行安装:conda install pymysql或者直接在pycharm中,搜索pymysql库安装,装完之后就可以看其具体的参数了user #数据库登录用户名,默认为当前程序运行用户password #登录密码,默认为空字符串host #数据库服务器地址,默认 localhostdatabase #操作数据库port原创 2021-03-26 13:49:27 · 2242 阅读 · 0 评论 -
python学习笔记之-numpy数组之数组序列化存储与读取
import pickleimport numpy as npx = np.arange(10)xarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])#input写入f = open("x.pkl","wb") #打开文件x.pkl,写入二进制pickle.dump(x,f)!ls#显示当前文件夹下文件#output读取f = open("x.pkl","rb")pickle.load(f)array([0, 1, 2, 3, 4, 5, 6, 7.原创 2020-11-15 11:42:34 · 1248 阅读 · 0 评论 -
python学习笔记之-numpy数组之数组与矩阵计算
#快速创建数组import numpy as npnp.random.randn(10) #快速创建10个元素的一元数组np.random.randint(10) #随机生成10以内的整型数据np.random.randint(10,size=10) #快速随机生成10以内的整型10个元素的一元数组np.random.randint(10,size=(3,4)) #快速随机生成10以内的整型三行四列数组np.random.randint(10,size=20).reshape(4,.原创 2020-11-15 10:42:51 · 357 阅读 · 0 评论 -
python学习笔记之-numpy数组
已经不知道这是时隔多久第几次了,反正隔一段时间就再熟悉下python,每次仍然是从头开始,这次同样不知道能坚持多久,能学到啥时候,老规矩还是同样先记录下。#array数组的创建import numpy as np#利用列表创建:list_1 = [1,2,3,4]#一维数组array_1 = np.array(list_1)输出:array([1,2,3,4])list_2 = [5,6,7,8]#二维数组array_2 = np.array([list_1,list原创 2020-11-08 23:57:47 · 744 阅读 · 0 评论