![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python3
语亦情非
进步是留给时间最好的礼物
展开
-
python pandarallel 加快pandas 运行速度
目前我看到5 种方法:python多进程 最常用的几种方式:1、multiprocessing2、concurrent.futures.ProcessPoolExecutor()3、joblib使用 joblib 模块对 Pandas加速如果需要对一个很大的数据集进行操作,而基于一列数据生成新的一列数据可能都需要耗费很长时间。于是可以使用 joblib 进行并行处理。假设我们有一个 dataframe 变量 data,要基于它的 source 列生成新的一列 double,其原创 2021-03-07 23:44:30 · 2128 阅读 · 0 评论 -
python 字典 defaultdict
统计strings 中某个单词出现的次数strings = ('puppy', 'kitten', 'puppy', 'puppy', 'weasel', 'puppy', 'kitten', 'puppy')counts = {}for kw in strings: if kw not in counts: counts[kw] = 1 else: counts[kw] += 1''也可以使用setdefault() 方法原创 2021-03-06 19:25:59 · 199 阅读 · 0 评论 -
python 常用代码
函数1:#根据每列的类型分别放进不同的列表#根据每列的类型分别放进不同的列表def num_cat_type(data): numtype=[] cattype=[] for i in data.columns: if data[i].dtype == 'O': cattype.append(i) else: numtype.append(i) return numtype,cattyp.原创 2020-07-09 23:11:03 · 221 阅读 · 0 评论 -
datetime 学习2
datetime.timedelta类介绍Python datetime模块学习原创 2020-04-27 00:11:05 · 299 阅读 · 0 评论 -
datetime 模块学习
以前总记不住,现在做个笔记看能否记忆深刻datetime模块下面有好几大类,常用的有date类(日期对象,常用的属性有year,month,day),time类(时间对象),datetime类(日期时间对象,常用属性有hour,minute,second,microsecond),还有timedelta类from datetime import datetimenow = datet...原创 2020-04-17 23:56:09 · 220 阅读 · 0 评论 -
Python迭代器和生成器
顾名思义,迭代器就是用于迭代操作(for 循环)的对象,它像列表一样可以迭代获取其中的每一个元素,任何实现了 __next__ 方法 (python2 是 next)的对象都可以称为迭代器。它与列表的区别在于,构建迭代器的时候,不像列表把所有元素一次性加载到内存,而是以一种延迟计算(lazy evaluation)方式返回元素,这正是它的优点。比如列表含有中一千万个整数,需要占超过400M的内...原创 2020-04-07 01:35:29 · 318 阅读 · 0 评论 -
python reset_index()和set_index()的使用
df = pd.DataFrame({ 'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'], 'col2' : [2, 1, 9, np.nan, 7, np.nan], 'col3': [0, 1, 9, 4, 2, 3]})print(df) col1 col2 col30 A 2.0 01 A ...原创 2020-03-18 02:16:51 · 12422 阅读 · 0 评论 -
defaultdict用法
from collections import defaultdict相对dict,defaultdict有个好处是 当index不存在时可以返回工厂函数的默认值如何使用defaultdict呢,dict=defaultdict(factory_function)这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默...原创 2020-03-11 00:09:41 · 201 阅读 · 0 评论 -
Python遇到ModuleNotFoundError: No module named 'email.mime'; 'email' is not a package问题的处理办法
这个问题今天确实恶心到我了import smtplibfrom email import encoders就导入两行代码,我仔细研究,确定没有导入错库的啊后面就写import smtplib一行代码就报如下错误了最后:发现意外的发现py文件名和email同名导致错误了,改了py文件名就好了...原创 2019-07-21 09:47:07 · 3577 阅读 · 1 评论 -
Python 在cmd中import模块成功,但是在jupyter notebook中No module xxx found
Python 在cmd中import模块成功,但是在jupyter notebook中No module xxx found https://www.cnblogs.com/jisongxie/p/9892660.html原创 2020-03-10 19:24:54 · 999 阅读 · 0 评论 -
对列表中的元素去重并保持原顺序
新版的pandas中分箱函数有了变化, 移除了 pd.cut(duplicates='drop')功能,但活还得干,那就自己想办法去重一:list1 = [1,2,4,9,5,6,5,2,4,7,8,0]list2 = list(set(list1))list2.sort(key = list1.index)二:从别人博客看到了三种方法(转载下)原文链接:htt...原创 2019-09-19 23:04:39 · 1287 阅读 · 0 评论 -
python可复用代码系列1:查看数据框缺失值占比
import pandas as pda=pd.read_csv() #这里路径尽量用英文,我用中文做路径的时候各种报错data=pd.DataFrame()name=[]count=[]narate=[]for i in a.columns: d=len(a)-a[i].count() r=(d/len(a))*100 rate='%.2f%%' %...原创 2019-08-23 16:24:48 · 778 阅读 · 0 评论 -
pyspark 自定义函数
一:自定义函数的一般流程# 1.创建普通的python函数def to_upper(s): if s is not None: return s.upper()# 2.注册自定义函数from pyspark.sql.functions import udffrom pyspark.sql.types import StringType#...原创 2019-05-25 00:38:33 · 2959 阅读 · 0 评论 -
python或pyspark,sql对一个dataframe,排序并排名
输入:输出:具体代码:一:纯python代码import pandas as pddata=pd.DataFrame({'c1':[5,8,3,3,4,1]})print(data)d1= data.sort_values(by='c1')d1['rank']=d1.rank(method='min').astype(int)print(d1)二:pyspa...原创 2019-05-16 17:30:52 · 6204 阅读 · 0 评论 -
pandas 读取json数据
input.json 文件内容{ "ID":["1","2","3","4","5","6","7","8" ], "Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ], "Salary":["623.3","515.2","611","729","843.25","578","632.8...原创 2019-06-26 00:24:03 · 7207 阅读 · 0 评论 -
pandas to_dict函数的用法介绍
1、to_dict 在pandas.core.frame.DataFrame模块中可以选择六种的转换类型,分别对应于参数 ‘dict’, ‘list’, ‘series’, ‘split’, ‘records’, ‘index’,下面逐一介绍每种的用法>>> help(pandas.core.frame.DataFrame.to_dict)Help on func...原创 2019-06-24 21:35:44 · 7954 阅读 · 0 评论 -
Crypto(仿射密码解密)
此密文是通过函数y=5x+12得到的def affine(a, b): pwd_dic = {} for i in range(26): if i+65 >=65 & i +65 <=90: pwd_dic[chr(((a * i + b) % 26) + 65)] = chr(i + 65) if ...原创 2019-07-12 13:27:03 · 1185 阅读 · 0 评论 -
os 删除文件和文件夹
import osimport shutil os.remove(path) #删除文件os.removedirs(path) #删除空文件夹shutil.rmtree(path) #递归删除文件夹原创 2019-07-21 20:52:35 · 1756 阅读 · 0 评论 -
ubuntu 16.04 上启动jupyter服务
1、远程服务器中jupyter 安装pip3installjupyternotebook2、生成配置文件 root@adiao:~#jupyternotebook--generate-config 3、生成密码,进入python3 终端>>>fromnotebook.authimportpasswd>>>p...原创 2019-05-10 12:46:15 · 3085 阅读 · 0 评论