Python
程序媛三妹
VX: cxysanmei1024 同名公众号和知乎:程序媛三妹,请多指教呀
一个希望不断进化的姑娘~
展开
-
python 手动清除内存gc
import gcgc.collect()清除内存,尽量避免主动调用gc.collect()除非当你new出一个大对象,使用完毕后希望立刻回收,释放内存。python里gc.collect()命令可以回收没有被使用的空间,但是这个命令还会返回一个数值,是清除掉的垃圾变量的个数。...原创 2022-02-06 22:11:06 · 6205 阅读 · 0 评论 -
如何不使用 ndarray 默认的科学计数法格式
在程序的开头加上两句话:import numpy as npnp.set_printoptions(suppress=True)原创 2021-10-18 11:01:12 · 824 阅读 · 0 评论 -
Python typeError: a bytes-like object is required, not ‘str’ Solution
目录一、需求二、报错三、解决方法一、需求调接口解析其中 dis 字段。二、报错Python Typeerror a bytes-like object is required not ‘str’这句话的意思是“类型错误:需要类似字节的对象,而不是字符串”。三、解决方法在需要解析的字段前 加上 b原代码:if 'dis' in response: dis = response.split('<dis>')[1]现代码:if b原创 2021-10-01 11:49:38 · 240 阅读 · 0 评论 -
Mac 查 Python路径
which python如果想查具体版本的Python路径的话,把版本也写在后边:which python3.8以下为转载内容,与君共享啦:Mac系统自带python路径为/System/Library/Frameworks/Python.framework/Version 这里可能会有多个python版本,里面Current存放系统当前python版本,进入Current/bin,在终端输入./python --version即可查看系统当前python版本(注:若使用python -.原创 2021-09-28 15:02:35 · 4838 阅读 · 2 评论 -
pyhon webbrowser 自动打开浏览器
webbrowser 是 Python 自带的包,可以自动打开浏览器。import webbrowserb = webbrowser.get('chrome')b.open('https://blog.csdn.net/u011675334?spm=1010.2135.3001.5343')其中,get() 函数中是浏览器的名字,可以是 chrome 也可以是 safari。具体函数讲解:1、webbrowser.open(url,new=0,autoraise=True)..原创 2021-02-19 11:02:07 · 2443 阅读 · 0 评论 -
Python networkx tutorial教程
官网地址:https://networkx.org/documentation/stable/tutorial.html本文主要对官网进行翻译理解。一、建图1、建立一个没有边没有节点的空图import networkx as nxG = nx.Graph()根据定义,图是节点(顶点)和确定的节点对(称为边、链接等)的集合。在NetworkX中,节点可以是任何可哈希对象,例如,一个文本字符串、一张图像、一个XML对象、另一个图形、一个定制的节点对象等。二、节点(Nodes)原创 2021-02-16 15:39:15 · 387 阅读 · 2 评论 -
包引入报错 ImportError: cannot import name ‘best_partition‘ from ‘community‘
目录一、问题描述二、解决方法一、问题描述在 Python 代码中引入包:from community import best_partition 时报错:ImportError: cannot import name 'best_partition' from 'community'二、解决方法虽然best_partition 是在 community 中,但是装了 community 包仍然报错。正确解法是删除 community 相关包,并下载安装python-luo..原创 2021-02-16 15:16:35 · 616 阅读 · 1 评论 -
python timedelta 求时间差省去繁琐格式转换
目录一、需求二、实现三、补充一、需求需要实现一个小功能,求两个时间差,如果大于某个值,就做下一步操作,否则等待。二、实现可以使用 datetime.timedelta1) 将时间转化为字符串形式可以看出直接将两个字符串格式的时间做差报错。2)不转换为字符串可以看出结果是 timedelta()可以这样写在程序中不好取值呀,因此可以使用函数 total_seconds(),函数返回值为 float 类型。以上,问题解决~三、补充datet原创 2020-12-07 15:44:11 · 2013 阅读 · 1 评论 -
python2 filter() 和 python3 filter()区别
1、filter() 函数filter()函数用于过滤序列,过滤掉不符合条件的元素,返回符合条件的所有元素。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到结果集中。2、python2 filter() 和 python3 filter()区别Python2.7 返回列表,Python3.x 返回迭代器对象。python3 的迭代器对象如果要转换为列表,可以使用list()转换...原创 2020-11-25 10:04:13 · 378 阅读 · 0 评论 -
Python报错:TypeError: a bytes-like object is required, not ‘str‘
一、问题TypeError: a bytes-like object is required, not 'str'二、问题原因原因是 Python3 和 Python2 在套接字返回值解码上有区别。这里简单解释一下套接字。套接字就是 socket,用于描述 IP 地址和端口,应用程序通过套接字向网络发出请求或者应答网络请求,可以认为是计算机网络的数据接口。目前套接字分为两种:基于文件型和基于网络型。三、解决办法使用函数 encode() 和 decode():1、str 通...原创 2020-09-24 11:08:10 · 31541 阅读 · 0 评论 -
pymysql 入门及填坑
1、安装 pymysqlpip install pymysql# 或python3 -m pip install PyMySQL2、官网例子1)建表CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_bin NOT NULL, `password` varchar(255) COLLATE utf8_bin NOT NULL原创 2020-09-16 13:43:54 · 564 阅读 · 0 评论 -
pickle报错 ValueError: unsupported pickle protocol: 3
1、报错含义不支持用 Python2 读取 Python3 生成的 pkl 文件。2、解决办法如果知道会是在 Python2 环境中执行读取 pkl 文件,则在生成 pkl 文件时加入 protocol=2:import picklepickle.dump(model_name,open('example.pkl', 'wb'), protocol=2)这样就是用 Python3 生成了能用 Python2 读取的 pkl 文件。3、补充Python2 生成的 pkl 导入方原创 2020-09-02 20:11:43 · 4516 阅读 · 0 评论 -
pip/conda 安装指定版本的包
pip 和 conda 安装指定版本的包的指令略有不同,具体如下:假设现在要安装numpy 包,版本是1.9.31、pippip install numpy==1.9.32、condaconda install numpy=1.9.3原创 2020-08-13 10:13:46 · 5448 阅读 · 0 评论 -
Python统计文件行数
一、需求获取文件行数二、代码# 方法一(适用于小文件)count = len(open(filename,'r').readlines())print('文件行数为:', count)# 方法二count = 0for idx, line in enumerate(f): count += 1print('文件行数为:', count)以上,问题解决~...原创 2020-08-11 20:07:50 · 9430 阅读 · 0 评论 -
Python读取两个文件,每个轮流读一行写入一个新文件
一、需求现有两个文件:文件 A 和文件 B,要读一行文件 A ,写入新文件 C,再读一行文件 B,写入文件 C;之后再重新读一行文件 A 写入 C,再读一行文件 B 写入 C,直到读完文件 A 和 B。二、代码def write_file(): with open('a.txt','r') as f1, open('b.txt','r') as f2, open('c.txt','w') as wp: while f1 or f2: if f1:原创 2020-08-11 10:49:36 · 2193 阅读 · 0 评论 -
Python 3 int 型最大值,float 型最大值
1、int 型import sysprint("最大整数为:", sys.maxsize)2、float 型最大浮点型:float('inf')最小浮点型:float('-inf')以下是本人电脑展示结果,我电脑是64位的:可以看出最大的浮点数就是 'inf',类型是 float 类型。...原创 2020-05-23 22:53:16 · 7911 阅读 · 2 评论 -
安装 xgboost 报错ERROR: Command "python setup.py egg_info" failed with error code 1 in /private/var/fold
Table of Contents1、报错2、解决办法3、结果4、补充1、报错完整报错如下:ERROR: Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/ht/3_tnvbcx1z10_rbdcnyntqgc0000gn/T/pip-install-mw7juk0i/xgboost/2、解决办法1)执行命令brew install cmake.原创 2020-05-11 14:16:08 · 1466 阅读 · 0 评论 -
Python3 取整方法比较
Table of Contents1、int()2、floor()3、ceil()4、round()5、整除 //6、总结1、int()小结:int() 是向 0 的方向取整,或者说向绝对值更小的方向取整。2、floor()小结:math.floor() 单纯向下取整。3、ceil()小结:math.ceil() 单纯向上取整。4、round()小结:round() 函数只有一位参数时作用等同于取整函数。小数 >原创 2020-05-09 17:32:46 · 863 阅读 · 0 评论 -
Python脚本执行hive SQL命令
一、问题背景将 hive SQL写入 Python 脚本,这样就可以将 Python 脚本设为定时任务,不用每次手动执行 hive SQL 语句。二、解决方法import osdef run_sql(): cmd = """beeline ******** -e "select * from example_db.example_table; """" ...原创 2020-04-15 22:13:13 · 5742 阅读 · 0 评论 -
Python for-else 用法
在 Python 中,else 不仅可以与 if 搭配使用,还可以与 for 结合。但 else 里面的语句不一定执行,取决于 for 循环能否正常执行完毕,如果 for 循环中有 break 字段等导致 for 循环没有正常执行完毕,那么 else 中的内容也不会执行。示例如下:...原创 2020-03-25 16:09:57 · 29181 阅读 · 0 评论 -
Python str 转为 list
S = 'asdf's_list = list(S)原创 2020-03-16 14:53:44 · 644 阅读 · 0 评论 -
Python 简述字典搭配 max() 函数用法以及key参数使用
一、由上图可以得出两个结论:1、max() 函数中没有 key 参数时,求的是 key 的最大值2、max() 函数中有 key 参数时,求的是 value的最大值由此引出 key 的用法二、key 的用法key 后面跟的是函数名,注意此处不是调用函数上图示例中用的是字典中的 get 函数,即通过 get 函数得到 value 值,如下图:所以,综上可出,...原创 2020-03-13 12:19:43 · 9722 阅读 · 4 评论 -
查看 sklearn 的版本
import sklearnprint("Sklearn verion is {}".format(sklearn.__version__))升级命令: pip install -U scikit-learn原创 2020-03-09 14:22:53 · 25351 阅读 · 0 评论 -
Python3 判断 list 是否为空
首先,说一下 if 的用法:if 后面只有 0 是假,其余全是真。进入正题:方法一、_list = []if list: print("不为空")else: print("为空")方法二:# list 有值为真,没值为假_list = []if not _list: print("为空")if _list: # _list 为空时进不来...原创 2020-03-09 11:44:52 · 7784 阅读 · 1 评论 -
Python 求数字开方
假设求 100 的开方方法一:100 ** 0.5方法二:用 Python 自带函数pow(100,0.5)注意有两个参数,第二个参数是开几次方,如 0.5 就表示开平方。方法三:调用 mathimport mathmath.sqrt(100)...原创 2020-03-09 09:23:15 · 3599 阅读 · 3 评论 -
脚本实现:从 HIVE 中导入数据到 MYSQL
代码如下:import osimport pymysql# -- SELECT * from wwh_db.zy_avg_ctr_sort where dt = '{}';hive_sql = """beeline -u jdbc:hive2://10.5.145.113:10000 -n 用户名 -p 密码 --showHeader=false --outputformat=c...原创 2020-03-04 21:23:02 · 1070 阅读 · 0 评论 -
Python 获取当天日期、前一天日期、前半个月
Python 代码如下:import datetime# 获取当前时间now_time = datetime.datetime.now()print("now time: ",now_time)# 获取前一天时间end_time = now_time + datetime.timedelta(days = -1)# 前一天时间只保留 年-月-日enddate = end_...原创 2020-02-16 15:58:19 · 10966 阅读 · 0 评论 -
python TypeError: missing 1 required positional argument:'self'
Python 调用类的函数时报错如下:TypeError: seperate_data() missing 1 required positional argument:'self'报错原因: train_data, test_data = DataCleaner.seperate_data()DataCleaner 是个类,seperate_data() 是其中的方法,不能直...原创 2019-12-04 11:22:23 · 30705 阅读 · 6 评论 -
Python, Numpy求 list 数组均值,方差,标准差
代码如下:import numpy as np array = [1,3,5,7,9]# 求均值arr_mean = np.mean(array)# 求方差arr_var = np.var(array)# 求标准差arr_std = np.std(array,ddof=1)原创 2019-11-21 19:48:57 · 33196 阅读 · 2 评论 -
服务器 Linux环境上查看Python site-package 包所在位置
一、需求在服务器 liunx 环境上修改查看 python 的包路径site-package二、解决方法尝试以下命令:from distutils.sysconfig import get_python_libprint(get_python_lib())输出类似如下:以上,问题解决~...原创 2019-11-20 15:26:12 · 3454 阅读 · 0 评论 -
Python print() 打印两个 list ,实现中间换行
有两个 list ,如果直接输出 print(list1, list2) 则会打印出一团,如下:[0.867, 0.932, 0.95, 0.942, 0.941, 0.939, 0.939, 0.95, 0.941, 0.916, 0.879, 0.869, 0.869, 0.865, 0.851, 0.838, 0.845, 0.823, 0.829, 0.835, 0.841, 0.82...原创 2019-11-19 16:34:20 · 9288 阅读 · 0 评论 -
Python list 按区间分组统计各组个数
一、需求假设有个 list:example_list =[95.0, 95.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0,...原创 2019-11-18 19:44:54 · 20261 阅读 · 5 评论 -
Python return 语法那些坑
刚刚行政部门同事来问 Python 里 return 的用法,说他自己敲代码的时候跟网课讲得不太一样,问我为什么,我整理之后记录如下。(BTW,连行政同学都在学 Python了,这是要抢饭碗啊啊)情况一、1、三个颜色的分别是三个输出,r = fun() 首先 执行 fun(),执行的过程中 print 了 test,然后返回值给 r;2、由于 r = fun() 整个语句是没...原创 2019-10-22 21:01:41 · 5979 阅读 · 0 评论 -
Python 查找两个大文件中不同内容
一、需求查找两个大文件中不同内容。二、解决方法将两个文件中某一列作为主键(类似数据库概念,用主键表示唯一性),分别放入集合 set 中去重。假设有两个集合 set1 和 set2:set1 = (1,2,3,4,5)set2 = (1,2,3,6)则 set1 中有但是 set2 中没有的数据是:result = set1 - set2# 输出结果为 4,5...原创 2019-10-11 11:07:06 · 963 阅读 · 0 评论 -
Python3:两个 list 一一对应,将一个 list 排序,要求另一个 list 随之排序
一、需求现有两个 list:A, B,其中A中保存日期,B中保存该日期下的产量,要求按照产量排序,并使日期列表随之排序。二、解法1. 将A,B两个 list 变成 list of tuple,使用 zip() 函数zipped = zip(A,B)# print(list(zipped))# python2中可以直接 print(zipped), python3 中改...原创 2019-09-24 11:12:32 · 19138 阅读 · 3 评论 -
Python: list of list, 将内部 list 的 index 作为该内部 list 中每个元素的分类标签
一、需求输入a = [[0], [3,4], [1,2]],要求输出为 [0, 2, 2, 1, 1]解释:[0] 是第 0 位,所以 0 位置的输出为0,[1,2] 的 index= 2,所以 1 和 2 对应位置的输出是2二、代码a = [[0],[3,4],[1,2]]max_len = 5rs = [0] * max_lenfor i,x in enume...原创 2019-09-24 15:57:42 · 1287 阅读 · 0 评论 -
Python bug:ValueError: invalid literal for int() with base 10: ''
bug解释:报错的意思就是 不能吧 ‘’ 变成 int,注意单引号中间没有内容。报错原因:原始 CSV 文件每一行是用逗号分割,在读CSV文件时把每一行按照 ','切分后,生成list,读取 list 中的某一项 A 转换为 int 型,进行 int 计算操作。解决方法:查找 CSV 文件,发现是该行中这个字段为空值,所以不能进行 int 计算操作。进行空值处理即可,如下:i...原创 2019-09-17 13:09:42 · 2895 阅读 · 0 评论