
Python笔记
文章平均质量分 66
记录Python学习点滴
阳光快乐普信男
这个作者很懒,什么都没留下…
展开
-
【Python笔记】if __name__ == ‘__main__‘:什么时候用
结论运行当前py文件时,执行if __name__ == '__main__':之前 & 之后的程序;调用当前py文件时,执行if __name__ == '__main__':之前 的程序.说明一个python文件通常有两种使用方法:作为脚本直接执行import 到其他的 python 脚本中被调用(模块重用)执行因此if __name__ == '__main__':的作用就是控制上面两种情况执行代码的过程。运行当前py文件时,执行if __name__ == '__mai转载 2022-02-07 15:29:17 · 3832 阅读 · 0 评论 -
【Python笔记】Python 操作 Excel 命令大全
模板# coding=utf-8import xlwings as xw# 设置程序不可见运行app = xw.App(visible=False, add_book=False)# =============== 第一部分,创建并写入数据 =====================# 创建一个test2.xlsx表,并写入数据# wb = app.books.add()# ws = wb.sheets.active# arr = []# for col in range(1,4):原创 2021-12-06 17:46:13 · 838 阅读 · 0 评论 -
【Python笔记】倾向评分匹配(Propensity Score Matching)实战
文章目录1 一个SPSS案例:带你理解PSM2 Python实现3 R实现1 一个SPSS案例:带你理解PSM倾向性评分案例实战2 Python实现python倾向匹配得分_手把手教你做倾向评分匹配 -PSM3 R实现R数据分析:倾向性评分匹配实例操作倾向性评分匹配完整实例(R实现)...原创 2021-10-26 15:49:13 · 5233 阅读 · 0 评论 -
【Python笔记】正则表达式基础和应用
0 引言0.1 正则の定义、功能正则,就是正则表达式,英文是 Regular Expression,简称 RE。正则其实就是一种描述文本内容组成规律的表示方式。在编程语言中,正则常常用来简化文本处理的逻辑。在 Linux 命令中,它也可以帮助我们轻松地查找或编辑文件的内容,甚至实现整个文件夹中所有文件的内容替换,比如 grep、egrep、sed、awk、vim 等。另外,在各种文本编辑器中,比如 Atom,Sublime Text 或 VS Code 等,在查找或替换的时候也会使用到它。0.2原创 2021-09-16 18:31:27 · 4189 阅读 · 1 评论 -
【Python笔记】Pandas层次化索引
文章目录SeriesDataFrame层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它使你能以低纬度处理高纬度数据。Seriesdata=pd.Series(np.random.randn(10), index=[list('aaabbbccdd'),list('1231231223')])# a 1 -0.264274# 2 0.623079# .原创 2021-01-27 00:26:07 · 340 阅读 · 0 评论 -
【Python笔记】pandas算数运算和数据对齐
文章目录1 算数运算和数据对齐2 在算数方法中填充值3 DataFrame和Series之间的运算1 算数运算和数据对齐pandas最重要的一个功能是,它可以对不同索引的对象进行算数运算。在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集。import pandas as pds1=pd.Series([7.3,-2.5,3.4,1.5],index=list('acde'))s2=pd.Series([-2.1,3.6,-1.5,4,3.1],index=list('ac.原创 2021-01-26 19:43:32 · 902 阅读 · 0 评论 -
【Python笔记】SciPy的统计模块:scipy.stats
SciPy的统计模块是scipy.stats,其中有一个类是连续分布的实现,一个类是离散分布的实现。此外,该模块中还有很多用于统计检验的函数。# 导入包from scipy import statsimport matplotlib.pyplot as plt# 1.使用`scipy.stats`包按正态分布生成随机数generated = stats.norm.rvs(size=900)# 2.用正态分布去拟合生成的数据,得到其均值和标准差print("Mean", "Std", sta原创 2021-01-26 00:25:38 · 11609 阅读 · 0 评论 -
【Python笔记】Sparksql get_json_object
get_json_object(string json_string, string path)第一个参数填写json对象变量第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。data 为 test表中的字段,数据结构如下:data ={ "store": { "fruit":[{"weight":8,"type":"apple"}, {"weight":9,"type":"pear转载 2021-08-22 21:21:11 · 1498 阅读 · 0 评论 -
【Python笔记】Sparksql from_json
I am trying to use from_json() to convert the JSON to a DataFrame.import org.apache.spark.sql.functions._val schemaExample2 = new StructType() .add("", ArrayType(new StructType()转载 2021-08-22 17:10:33 · 1766 阅读 · 0 评论 -
【Python笔记】urljoin() 解析
释义:urljoin() :连接两个参数的url,将第二个参数中缺的部分用第一个参数的补齐,如果第二个有完整的路径,则以第二个为主urljoin(base, url, allow_fragments=True)应用:组接url# 连接两个参数的url, 将第二个参数中缺的部分用第一个参数的补齐,如果第二个有完整的路径,则以第二个为主from urllib.parse import urljoin print(urljoin('www.baidu.com', '?category=2#comm原创 2021-07-29 15:57:04 · 3726 阅读 · 0 评论 -
【Python笔记】Spark高级操作 の json复杂和嵌套数据结构的操作
Spark高级操作之json复杂和嵌套数据结构的操作SparkSQL 操作 Json 格式数据Spark SQL操作JSON字段小Tips原创 2021-07-05 23:53:10 · 1016 阅读 · 2 评论 -
【Python笔记】pyspark dataframe の udf
详见: pyspark dataframe之udf应用from pyspark.sql import *from pyspark.sql.functions import *from pyspark.sql.types import *mission = "xxx"spark = SparkSession.builder.appName(mission).enableHiveSupport().getOrCreate()l =[("A", 16), ("B", 21), ("B".原创 2021-06-24 16:41:03 · 357 阅读 · 0 评论 -
【Python笔记】pyspark.sql库
文章目录1 pyspark.sql.SQLContext1.1 applySchema(rdd, schema)、inferSchema(rdd, samplingRatio=None)1.2 cacheTable(tableName)1.3 clearCache()1.4 createDataFrame(data, schema=None, samplingRatio=None)1.5 createExternalTable(tableName, path=None, source=None, sche.转载 2021-06-20 23:16:47 · 4823 阅读 · 0 评论 -
【Python笔记】pyspark.sql.functions
文章目录1 pyspark.sql.functions.abs(col)2 pyspark.sql.functions.acos(col)3 pyspark.sql.functions.add_months(start, months)4 pyspark.sql.functions.approxCountDistinct(col, rsd=None)5 pyspark.sql.functions.array(*cols)6 pyspark.sql.functions.array_contains(col,.转载 2021-06-20 23:14:23 · 6838 阅读 · 0 评论 -
【Python笔记】pyspark.sql.types
文章目录1 pyspark.sql.types.DataType1.1 fromInternal(obj)1.2 json()1.3 jsonValue()1.4 needConversion()1.5 simpleString()1.6 toInternal(obj)2 pyspark.sql.types.NullType3 pyspark.sql.types.StringType4 pyspark.sql.types.BinaryType5 pyspark.sql.types.BooleanType6.转载 2021-06-20 22:14:12 · 1807 阅读 · 0 评论 -
【Python笔记】Spark Sql max+structの作用
疑问:max+struct的作用?test.map(x => tester(x._1, x._2, x._3, x._4, x._5)) .toDS .select($"ac", $"sk", struct($"num1", struct($"time", $"num1")).as("grp")) .groupBy($"ac", $"sk") .agg(max($"grp")).show(false)解答:Struct结构用于按字典顺序排序,从左往右地按字段比较原创 2021-05-31 17:07:08 · 781 阅读 · 0 评论 -
【Python笔记】pyspark中的行列互转
1 基础数据from pyspark.sql import SparkSessionspark = SparkSession.builder.appName('JupyterPySpark').enableHiveSupport().getOrCreate()import pyspark.sql.functions as F# 原始数据 test = spark.createDataFrame([('2018-01','项目1',100), ('2018-01','项目2',200), ('201转载 2021-05-30 20:46:15 · 585 阅读 · 0 评论 -
【Python笔记】SparkSQL の 窗口函数
1 spark.sql中の应用1.1 基础数据from pyspark.sql.types import *schema = StructType().add('name', StringType(), True).add('create_time', TimestampType(), True).add('department', StringType(), True).add('salary', IntegerType(), True)df = spark.createDataFrame([转载 2021-05-30 20:36:06 · 517 阅读 · 0 评论 -
【Python笔记】jupyter notebook文件批量下载
第一步:把需要打包下载的文件放在一个文件夹中第二步:在该文件夹内新建一个ipynb,复制并运行以下代码import osimport tarfiledef recursive_files(dir_name='.', ignore=None): for dir_name,subdirs,files in os.walk(dir_name): if ignore and os.path.basename(dir_name) in ignore: c.原创 2021-05-27 17:32:19 · 5236 阅读 · 1 评论 -
【Python笔记】Parquet介绍及简单使用
https://www.cnblogs.com/sandea/p/11919376.html原创 2021-05-25 22:58:49 · 11134 阅读 · 0 评论 -
【Python笔记】Pandas自定义排序
Method1:Mapimport pandas as pddf = pd.DataFrame({ 'cloth_id': [1001, 1002, 1003, 1004, 1005, 1006], 'size': ['S', 'XL', 'M', 'XS', 'L', 'S'],}) cloth_id size 0 1001 S转载 2021-05-25 15:29:04 · 1896 阅读 · 0 评论 -
【Python笔记】Spark获取DataFrame中列的方式--col,$,column,apply
文章目录1 官方说明2 使用时涉及到的的包3 df.col , df['col'] , col('col')之间的区别3.1 df.col3.2 df['col']3.3 col('col')1 官方说明df("columnName") // On a specific DataFrame.col("columnName") // A generic column no yet associated with a DataFrame.col("colum.转载 2021-05-18 18:02:24 · 4672 阅读 · 0 评论 -
【Python笔记】VScode 奇技淫巧
源函数查看提取方法点击????,选择extract method归并同一库导入的包不用选择,直接在编辑器右键,选择 排序import选择解释器方法1:shift+command+p,输入python:select,选择select interpreter方法2:左下角点击-切换创建新的窗口command+\放大缩小界面放大:command+shift+ + 或 command+ +缩小:command+shift+ -建立Jupyter Notebookshif原创 2021-05-12 16:22:04 · 372 阅读 · 1 评论 -
【Python笔记】Pandas性能优化,速度起飞
文章目录1 数据读取の优化2 数据聚合の优化3 数据逐行操作の优化4 使用numba进行数值计算Reference:提速百倍的Pandas性能优化方法,让你的Pandas飞起来!1 数据读取の优化读取数据是进行数据分析前的一个必经环节,pandas中也内置了许多数据读取的函数,最常见的就是用pd.read_csv()函数从csv文件读取数据,那不同格式的文件读取起来有什么区别呢?哪种方式速度更快呢?我们做个实验对比一下。这里采用的数据共59万行,分别保存为xlsx、csv、hdf以及pkl格.转载 2021-04-16 16:20:04 · 1088 阅读 · 0 评论 -
【Python笔记】Pandas数据分组:Groupby
文章目录1 Groupbyの基本原理2 groupby+agg 聚合3 groupby+transform4 groupby+applyReference:Pandas之超好用的Groupby用法详解在日常的数据分析中,经常需要将数据 根据某个(多个)字段划分为不同的群体(group) 进行分析,如电商领域将全国的总销售额根据省份进行划分,分析各省销售额的变化情况,社交领域将用户根据画像(性别、年龄)进行细分,研究用户的使用情况和偏好等。在Pandas中,上述的数据处理操作主要运用groupby.转载 2021-04-16 16:03:30 · 1906 阅读 · 0 评论 -
【Python笔记】Pandas数据处理:map、apply、applymap
文章目录1 Series数据处理1.1 map1.2 apply2 DataFrame数据处理2.1 apply2.2 applymapReference:Pandas数据处理三板斧——map、apply、applymap详解在日常的数据处理中,经常会对一个DataFrame进行逐行、逐列和逐元素的操作,对应这些操作,Pandas中的map、apply和applymap可以解决绝大部分这样的数据处理需求。这篇文章就以案例附带图解的方式,为大家详细介绍一下这三个方法的实现原理,相信读完本文后,.转载 2021-04-16 15:04:50 · 442 阅读 · 0 评论 -
【Python笔记】捕获异常
1 Python错误处理机制一旦出错,还要一级一级上报,直到某个函数可以处理该错误(比如,给用户输出一个错误信息)。所以高级语言通常都内置了一套 try...except...finally... 的错误处理机制,Python也不例外。让我们用一个例子来看看 try 的机制:try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: print('exce原创 2021-04-13 22:30:42 · 420 阅读 · 0 评论 -
【Python笔记】Python 字符串前面加 u,r,b,f
1 字符串前加 uu"我是含有中文字符组成的字符串。"作用:后面字符串以 Unicode 格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。2 字符串前加 r r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行了作用:去掉反斜杠的转义机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )应用:常用于正则表达式,对应着re模块。3 字符串前加 b原创 2021-04-10 18:16:53 · 316 阅读 · 0 评论 -
【Python笔记】random库
1 random.sample()sample()方法返回一个列表,其中从序列中随机选择指定数量的项目。注意:此方法不会更改原始顺序。random.sample(sequence, k)sequence:必填,可以是任何序列:列表,集合,范围等。k:返回列表的大小import randommylist = ["apple", "banana", "cherry"]print(random.sample(mylist, k=2))[‘cherry’, ‘apple’]...原创 2021-03-09 14:16:13 · 116 阅读 · 0 评论 -
【Python笔记】numpy reshape和resize的区别
主要两点区别。区别1:有无返回值,是否改变原数组resize :无返回值(返回值为None),会改变原数组。reshape :有返回值,返回值是被reshape后的数组,不会改变原数组。import numpy as np A = np.array([1, 2, 3, 4, 5, 6]) print("A:\n", A) A_resize = A.resize((2, 3))print("A_resize:\n", A_resize)print("A(after resize):原创 2021-03-08 23:12:05 · 2626 阅读 · 0 评论 -
【Python笔记】字符串的处理方法(延伸到pandas)(含正则表达式)
文章目录1 字符串的常用方法2 正则表达式2.1 匹配查询函数2.2 匹配替换函数2.3 匹配分割函数2.4 实际应用3 实战应用1 字符串的常用方法首先介绍一下Python中的字符串有哪些构造方法:构造字符串可以使用三种形式的引号。如果字符串的内容不包含任何引号,那么单引号、双引号和三引号都可以使用;如果字符串的内容仅包含双引号,类似变量string1的形式,那么只能使用单引号或三引号构造字符串;如果字符串的内容仅包含单引号,类似变量string2的形 式,那么只能使用双引号或三引号完.原创 2021-03-03 20:45:17 · 1727 阅读 · 0 评论 -
【Python笔记】read_html():获取table类型网页表格数据
文章目录0 基础知识table类型的表格网页结构read_html()函数1 快速抓取法1.1 思路1.2 代码2 完整爬虫抓取法2.1 思路2.2 代码3 小结常见的各种官网都有这样一种情况:网站中很多表格,我们想对这些表格进行整理汇总、或者是筛选,或者是处理分析。于是我们需要考虑:如何将网页表格数据使用python保存为Excel文件?如果需要抓的表格很少或只需要抓一次,那么推荐快速抓取法 [引文1]。如果页数比较多,推荐完整爬虫抓取法 [引文2]。解析函数用了BeautifulSoup.原创 2021-01-30 20:19:02 · 15381 阅读 · 3 评论 -
【Python笔记】Pandas时期及其算术运算
文章目录1 时期的频率转换2 按季度计算的时期频率3 将Timestamp转换为Period(及其反向过程)4 通过数组创建PeriodIndex5 重采样及频率转换升采样降采样OHLC重采样通过groupby进行降采样升采样和插值通过时期进行重采样6 时间序列绘图7 移动窗口函数指数加权函数二元移动窗口函数用户定义的移动窗口函数时期(period)表示的是时间区间,比如数日、数月、数季、数年等。period类表示的就是这种数据类型,其构造函数需要一个字符串或整数,以及下表的频率。# 表示从20.原创 2021-01-29 00:35:05 · 790 阅读 · 0 评论 -
【Python笔记】Pandas时区处理
文章目录1 时区处理2 本地化和转换方式一方式二3 操作时区意识型Timestamp对象4 不同时区之间的运算1 时区处理Python中时区信息来自第三方库pytz。import pytz# 常用的时区列表(440个)pytz.common_timezones[-5:]# ['US/Eastern', 'US/Hawaii', 'US/Mountain', 'US/Pacific', 'UTC']# 常用的时区集合pytz.common_timezones_set# {'Asia.原创 2021-01-28 20:21:05 · 1784 阅读 · 0 评论 -
【Python笔记】read_html():获取网页表格数据 & 读取JSON数据 & XML和HTML:Web信息收集 & 使用HTML和Web API
文章目录JSON数据XML和HTML:Web信息收集使用HTML和Web APIJSON数据JSON(JavaScript Object Notation的简称)已经成为通过HTTP请求在Web浏览器和其他应用程序之间发送数据的标准格式之一。它是一种比表格型文本格式(如CSV)灵活得多的数据格式。注意:全都要用英文输入模式下的双引号 “obj="""{"name":"Wes", "places_lived":["USA","Spain","China"], "pet":null, ".原创 2021-01-27 23:19:09 · 1898 阅读 · 0 评论 -
【Python笔记】pandas排序和排名
文章目录排序SeriesDataFrame排名SeriesDataFrame排序对行或列索引进行排序(按字典序),可使用sort_index方法,将返回一个已排序的新对象。Seriesobj=pd.Series(range(4),index=list('dabc'))# d 0# a 1# b 2# c 3# dtype: int64obj.sort_index()# a 1# b 2# c 3# d 0# dtype: i.原创 2021-01-26 22:24:17 · 830 阅读 · 0 评论 -
【Python笔记】Scipy.stats.norm函数解析
scipy.stats.norm函数 可以实现正态分布(也就是高斯分布)pdf ——概率密度函数标准形式是:norm.pdf(x, loc, scale)等同于norm.pdf(y) / scale ,其中 y = (x - loc) / scale调用方式用两种,见代码:from scipy import statsimport numpy as npimport matplotlib.pyplot as pltplt.figure(figsize=(12,8))x=np.lins原创 2021-01-02 20:41:08 · 43193 阅读 · 1 评论 -
【Python笔记】读取、写入文本文件 TXT
文章目录1 创建文本文件数据几乎无一例外地是被保存在文件中的,可能是文本文件、CSV 文件、Excel文件或其他类型的文件。你需要告诉Python,脚本要处理何种类型的文件。你可以在程序中写死文件名称,但是如果这样的话,就不能使用这个程序处理多个不同的文件了。能读取多个不同文件的方法是,在命令行窗口或终端窗口的命令行中,在Python 脚本的名字后面加上完整的文件路径名。要使用这种方法,需要在脚本开始时导入内置的sys 模块。在脚本上方加上import1 创建文本文件...原创 2020-12-21 00:40:46 · 3248 阅读 · 0 评论 -
【Python笔记】itemgetter字典排序
文章目录通过某个关键字排序一个字典列表方法1:`operator.itemgetter`方法2: `lambda`方法3: `min() max()`通过某个关键字排序一个字典列表方法1:operator.itemgetter通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的数据结构。假设你从数据库中检索出来网站会员信息列表,并且以下列的数据结构返回:from operator import itemgetterrows = [ {'fname'.原创 2020-12-20 20:09:05 · 342 阅读 · 1 评论 -
【Python笔记】全局变量和局部变量的区别 | global和nonlocal区别
# L = Local 局部作用域# E = Enclosing 嵌套作用域# N = nonlocal 只作用于嵌套作用域,而且只是作用在函数里面# G = global 全局作用域# B = Built-in 内置作用域"""locals()函数返回一个当前位置的所有局部变量的字典globals()函数返回一个全局变量的字典,包括所有导入的变量local设置局部变量,local需在函数体内设置;在函数体内声明的变量,默认都是局部变量global设置为全局变量,glob原创 2020-11-27 15:24:00 · 7213 阅读 · 0 评论