自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 用户留存分析思路--群组分析

用群组分析思维做用户留存分析

2023-02-02 17:39:11 361 1

原创 R读取文件的指定行列

R读取文件的指定行列

2023-01-29 15:42:28 5388

原创 null值在in、not in条件中

一、直接上代码准备2个表的数据,表C:表D:select * from "C" where code in (select code from "D");结果如下select code from "D"这个语句的结果包含了null值,但是在in中,会自动忽略null值;select * from "C" where code not in (select code from "D");上面这个语句跑出来的结果是空,原因是not in中包含了null值,会直接返回false,导致整个whe

2020-08-15 16:52:39 3182 1

原创 pd.read_csv读取指定的行数或列数

import numpy as npimport pandas as pddf = pd.read_csv('0728.csv',sep=',')df 如上图所示,有时候直接读取文件,会多出一些空白列。为了去掉这些空白列,我们可以用usecols参,确定好要读取的列数,直接加参即可。list_a = np.arange(12)df = pd.read_csv('0728.csv',sep=',',usecols=list_a)df 有时我们只需要前几行的数据,可以用nrows参,脚本如下

2020-08-04 22:11:37 27123

原创 SQL中join连接后面的on与where的区别

两张测试表,数据如下t_classt_student一、内连接select * from t_class a inner join t_student bon a.id = b.class_id and a.name='语文';select * from t_class a inner join t_student bon a.id = b.class_id where a.name='语文';内连接下,不管a.name='语文’这个条件是在on还是在where中,查询结果

2020-06-12 22:43:23 541

原创 postgresql中to_char()常用方法

postgresql中的to_char()用法和Oracle相比,多了一个参数。to_char(待转换值,转换格式);常用转换格式有2种:一个是写若干个0,如果待转换的值位数少于于你定义的转换格式位数,输出值会自动在左边补0,位数补齐到转换格式的长度;如果待转换的值位数多于你定义的转换格式位数,输出值为:##(长度跟你定义的转换格式一样);另一个是写若干个9,如果待转换的值位数少于你定义的转换格式位数,正常输出;如果待转换的值位数多于于你定义的转换格式位数,输出值为:##(长度跟你定义的转换格式一

2020-06-08 17:47:56 27129

原创 create table1 as select * from table2注意事项

create table city_test as select * from city;工作中,偶尔会用以上语句建新表,这种方式建表存在一些问题,除了大家一直说的默认值问题外(不能将原表中的default value也一同迁移过来),还有一个问题就是,如果原来的表有主外键、索引等,新表不会自动生成这些东西,需要你自己在建表后,手动添加这些约束。测试如下:原有表t_class,新建表t_class_testcreate table t_class_test as select * from t_cl

2020-06-06 21:49:56 1225

原创 postgresql跨库查询数据

如上图,有两个数据库,现在想要在postgres这个数据库的环境下调用test数据库的数据表test1,用惯了sqlserver,于是写了下面的脚本:select * from test.test1;结果:查了一下,postgresql如果要跨库查询,没那么方便的。一般的方式,是先要在对应的数据库上建立一个dblink,然后在查询时定义后查询参数才能查到数据。一、创建dblink直接在相应数据库的sql编辑器上执行:create extension dblink;即可,执行后你的“拓展”中.

2020-05-24 17:00:22 8368

原创 plt.style.use设置背景样式

利用matplotlib绘图设置背景,使用到plt.style.use()时,对这个参数做一下小结。matplotlib 使用某种样式plt.style.use()参数可以是一个 URL 或者路径,指向自己定义的 mplstyle 文件可以把自己的 mplstyle 文件放到 mpl_configdir/stylelib 文件夹下,这样就能通过文件的名称来使用定义的样式,其中 mpl_co...

2020-04-20 15:43:36 30851

原创 matplotlib.pyplot作图,图例显示不全问题

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import font_managerplt.title('测试数据')plt.legend(prop=myfont,loc="upper left") #表示在图中增加图例myfont = font_manager.FontProperties(fname...

2020-04-20 10:45:26 9588 1

原创 如何将pyecharts中geo地图的默认显示经纬度改为地名

districts=['北京','上海','广州','深圳']value = [500,500,500,500]geo =Geo("一线城市","",width=800, height=700, title_pos='center',title_top=10, title_color="#2E2E2E", subtitle_color='#aaa',title_text_s...

2020-03-13 17:04:47 4964 4

原创 python之itertools实现排列组合

itertools 是python的迭代器模块,里面有很多函数可以用来高效生成迭代器,《python之itertools模块》这篇文章写得挺详细的,有兴趣的可以看看。这里只介绍一下排列组合的几个函数。product 笛卡尔积 (有放回抽样排列)permutations 排列 (不放回抽样排列)combinations 组合,没有重复 (不放回抽样组合)combinations_with_...

2020-03-12 13:21:13 1509

原创 python 多层for循环嵌套的优化方法

题目:有5个长度不一的数组a1、a2、a3、a4、a5,现各从数组中取出一个数,组成一个新的数组,要求从a1取出的数必须小于从a2取的数,同理从a2取出的数必须小于从a3取的数,以此类推,列出所有满足条件的数组。题目挺简单,看一下就明白,然后第一时间用了一堆for循环,脚本如下:a1 = [1,2,4]a2 = [2,3,4,5]a3 = [1,4,7]a4 = [3,6,7,8]a5...

2020-03-11 14:20:40 15923 6

原创 selenium根据文本内容定位元素

关于selenium的定位方法很多人说了,但是根据文本内容进行定位的找了很久都没有找到相关的文章,因此把自己走过的弯路记录分享一下。如下图,如果我们要定位“下一页”这个元素,无法通过id、class等等这些来弄,咋一看好像可以用find_element_by_xpath。复制一下xpath来看一下:“//[@id=“pe100_page_存量房房源_oracle_single_pager”]/...

2020-03-09 17:37:08 10854 1

原创 WebDriverException: Message: unknown error: Element is not clickable at point报错原因

WebDriverException: Message: unknown error: Element is not clickable at point翻译一下:未知错误:元素在点处不可单击一般有两种可能,一种是你第一次使用某台电脑执行click()事件,那有可能是浏览器驱动问题,更新一下驱动即可;另一种可能是你之前在该台电脑能正常使用点击事件,只是在某段代码报错,那么应该是页面上有其他弹...

2020-03-09 11:34:14 1118

原创 selenium与tesserocr截图并识别验证码

一、背景如上图,某网站进行查询需要输入验证码,验证码图片是一个链接,研究了一下输入验证码和查询条件后的url结构(http://zfcj.gz.gov.cn/data/QueryService/Query.aspx?QueryID=26&IsSearch=true&PYBH=&XQMC=&FBZL=&FWYZRZJ=&HXS=&HXT=&...

2020-03-05 11:58:56 699

原创 __init__() got an unexpected keyword argument 'width'

geo =Geo("Geo地图示例", "副标题",width=1450, height=750, title_pos='center',title_top=20, title_color="#2E2E2E", subtitle_color='#aaa',title_text_size=16,subtitle_text_size=12,background_color='#EEE...

2020-02-19 16:51:00 18132 7

原创 python用baidu-aip进行数字识别

一、背景得到一张数据表如下,现在想把图片中的数字提取出来,之前一直是用在线转换网站:https://ocr.wdku.net/进行处理,结果今天用太频繁了,不让我免费用,居然想跟我收钱,我怎么可能交这种钱呢,于是就打算自己花点时间试试强大的python。二、baidu-aip进行图片识别最常用有2种方式,一种是用tesserocr库,需要先安装tesseract,在之前已经玩过,具体可看之...

2020-02-18 14:52:20 2020

原创 python爬虫刨北上广深的房价来看看--修改版

年前偷懒,写的文章《python爬虫刨北上广深的房价来看看》里,爬虫脚本写得水得一批,今天翻看了一下有点受不了,花了点时间重新码了一下,主要是把其中区划获取和页数获取问题解决了,现在就不会每个区域最多取3000套房源的问题了。一、脚本先上脚本再说import requestsfrom bs4 import BeautifulSoupimport pandas as pdimport t...

2020-02-13 17:19:49 321

原创 anaconda安装xgboost遇到的一些细节问题

如果你直接在anaconda prompt用pip install、conda install 能安装,那么恭喜你。我在安装这个包时运气不好,只能自己下载来安装,结果因为细节问题,浪费了一些安装时间,特意把这些问题记下来。一、下载包的地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost直接在上面这个网址上下载对应的包即可,如下图,“...

2020-01-21 18:12:00 751 1

原创 python爬虫刨北上广深的房价来看看

2019年过去了,突然想看看外界一直在说的房价跌跌跌,到底跌成了啥样子,于是,花了点时间,把链家上北上广深杭这几个热门城市的二手房单价弄下来看看。直接上代码了(临近过年,懒了许多,代码写得很简单,各位看官可以跳到最后直接看房价情况即可)import requestsfrom bs4 import BeautifulSoupimport pandas as pdimport ...

2020-01-15 18:19:47 670 1

原创 ValueError: Invalid parameter svc for estimator SVC

from sklearn.svm import SVC from sklearn.model_selection import GridSearchCVX, y = make_blobs(n_samples=100, centers=2, random_state=0, cluster_std=0.8)param_grid = {'svc__C': ...

2019-12-25 15:42:13 6183 4

原创 cross_val_score中cv=5与cv=KFold(n_splits=5)的区别

cross_val_score用来做交叉验证,里面的一个参数cv的选择比较悬疑,有时会用cv=n,有时又用cv=KFold(n_splits=n)。查来查去,在《machine learning》终于找到了一个说法:When an integer is passed to thecvparameter ofcross_val_score():StratifiedKFoldis ...

2019-12-17 17:28:34 6794 1

原创 cross_validation.KFold与model_selection.KFold的区别

KFold是sklearn中用来做交叉检验的,在sklearn 的版本升级中,KFold被挪了地方。在sklearn 0.18及以上的版本中,sklearn.cross_validation包被废弃,KFold被挪到了sklearn.model_selection中,本来以为挪就挪了,用法没变就行,结果,,谁用谁知道。cross_validation.KFold与model_selecti...

2019-12-12 12:06:37 1717

原创 Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty.解决办法

sklearn0.22版本,用以下代码建立逻辑回归模型lr = LogisticRegression(C = c_param, penalty = 'l1')正则化惩罚选择'L1'报错,一脸懵C嗯,还是打印一下Ir看一下参数LogisticRegression(C=0.01, class_weight=None, dual=False, fit_intercept=True...

2019-12-12 10:54:16 17913 17

原创 python (n,)、(n,1)、(1,n)数组的区别

test = np.array([1,2,3])print(test.shape)print(test)print('=='*10)test1 = test.reshape(1,-1)print(test1.shape)print(test1)print('=='*10)test2 = test.reshape(-1,1)print(test2.shape)print(t...

2019-12-10 14:04:17 2141

原创 python 之seaborn库的基础使用(5种常用图形的使用)

画图中,常用的图形有直方图、条形图、分类柱形图、散点图、盒图。(其实还有一个折线图,但是在写的时候发现,sns.lineplot、sns.ggplot这些函数一个都用不了,so,折线图就不说了)一、直方图这个图形的作用,就是你输入一个单变量数据,它会告诉你这个数据集中数据的分布情况,并且你可以自定义划分为若干区间。seaborn.distplot(a, bins=None, hist=...

2019-12-05 14:43:50 1854

原创 python 之seaborn库的基础使用(画板主题及颜色选择)

一、seaborn库是干啥用的?画图Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。自己用seaborn也用得不深,这里就把常用的总结一下,权当方便自己以后复习。...

2019-12-04 16:10:31 4232

原创 Python证明“三门选择”问题

一、啥是三门问题?电影《决胜21点》里面提到的一个经典问题。假如现在有一个这样游戏,在你面前有三个门,其中只有一个门有一份礼物,其他两个门是空的,现在主持人让你选择一个门,然后他会从剩下的两个门中,打开一个空门,再来问你,你是否要改变你原来选择的那个门,还是坚持选择,如果你选的门后面有礼物,打开后礼物就是你的。如上图,三扇门是ABC,现在A门是有礼物,BC门是空,如果你一开始选了A门,...

2019-11-30 23:55:42 1205

原创 sqlserver 触发器简析及实例应用

一、啥是触发器触发器(trigger)是SQLserver提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。(----来自百度百科)简单理解,触发器就是当你对数据库进行某些特定的行为时(比如更新、删除某张表),自动作出反馈(如记录你的修改内容、时间等)。触发器的作用如下(----来自百度百...

2019-10-24 18:08:46 1054

原创 将sql server management studio由“自动提交”改为“手动提交“设置的若干问题

sql server management studio默认采用的是自动提交事务,然后你在执行一些update、delete操作时,一旦提交成功数据就改变了,一不小心就没有回头路。这种模式用起来没有Oracle的客户端工具PL/SQL Server那种好用,你执行增删改时,运行后会告诉你执行结果,然后你再选择是否提交事务,相当于有个缓冲。一、更改sql的默认设置操作步骤:工具--选项--...

2019-10-23 18:01:42 2897

转载 SQL Server基础之存储过程

简单来说,存储过程就是一条或者多条sql语句的集合,可视为批处理文件,但是其作用不仅限于批处理。本篇主要介绍变量的使用,存储过程和存储函数的创建,调用,查看,修改以及删除操作。一:存储过程概述SQL Server中的存储过程是使用T_SQL编写的代码段。它的目的在于能够方便的从系统表中查询信息,或者完成与更新数据库表相关的管理任务和其他的系统管理任务.T_SQL语句是SQL Server数...

2019-10-23 11:23:48 184

原创 sqlserver游标的使用

一、游标的使用场景我们平常对数据库中的数据进行增删改时,都是一次性处理若干行符合指定条件的数据,而如果有个业务场景,要求我们对某些数据逐行进行判断并采取不同的方式处理,这时候一般的语句就满足不了了.游标可以方便从一个结果集中进行循环遍历数据在进行操作。它的思想就是从结果集中,一个一个取出来处理.当然,由于它是逐一处理的方式,游标的最大弊端就是低效.二、游标的类型与格式游标分为两种...

2019-10-22 17:09:23 2195

原创 sqlserver 根据旧表创建新表

sqlserver数据库中,根据旧表创建新表的方法,网上流行的是以下两种:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only然而,用上面的语句创建表时,都提示语法错误,经过百度和尝试之后,发现以下两...

2019-10-22 10:44:59 6615 6

原创 lambda、map简单使用

lambda是一个匿名函数,知道这个就行,没必要去看那么多,会用就行。lambda(参数,函数返回);map(函数,列表)一、lambda如下,如果现在要定义一个函数,求三个参数的和,正常写法都是直接def定义开始,但是正常使用中,如果某个函数很简单并且只是使用一次,直接用lambdadef sum_elements(x,y,z): return x+y+zprint(...

2019-09-08 11:41:09 8940

原创 Python爬虫之string、strings、stripped_strings、get_text和text用法区别

Python爬虫获取html中的文本方法多种多样,这里主要介绍一下string、strings、stripped_strings和get_text用法string:用来获取目标路径下第一个非标签字符串,得到的是个字符串strings:用来获取目标路径下所有的子孙非标签字符串,返回的是个生成器stripped_strings:用来获取目标路径下所有的子孙非标签字符串,会自动去掉空白字符串...

2019-09-07 15:00:07 9369 4

原创 python爬虫爬取贝壳网上动态加载的数据

一、背景思路爬取贝壳上二手房信息时,想要将对应房源近一个月的带看信息弄下来,看看哪些房源热度最高。结果毫无意外,简单粗暴的BeautifulSoup+select无法将这部分信息弄下来,如下图,如果带看记录过多,页面是通过按钮控制切换的,静态页面上最多只有当前3个带看信息。一般像这种在局部页面点击能进行数据更新,而网页的url不会变化的,大概率都是通过异步加载(AJAX)进行数据更新。...

2019-08-28 17:34:35 3037

原创 CookieJar下载并使用cookies

在前面写过一篇《requests下载并使用cookies》,除了用requests,用http.cookiejar同样能实现,不过步骤繁琐很多,用http.cookiejar首先需要创建一个cookiejar对象,然后再用cookiejar创建一个handler,再在handler中创建一个opener,最后在opener中传递帐号密码,获取cookies信息。下面主要介绍两种使用方法,一种是...

2019-08-27 10:24:08 2638

原创 requests下载并使用cookies

以人人网为例,要爬取人人网上某个网页信息,首先需要登录才能访问,通常最简单地做法是手动到网站上登录,然后找到cookies信息,再放到requests中去爬取html信息。如果想用CookieJar实现,可以看另一篇《CookieJar下载并使用cookies》现在换一种套路,能不能直接在爬虫中输入帐号密码,然后自动获取cookies信息再去爬取html,不要再让我自己手动去复制了?req...

2019-08-26 18:42:52 458

原创 requests爬取不信任的SSL证书网站

一、什么是SSL证书SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。SSL证书通过在客户端浏览器和web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据...

2019-08-26 18:13:43 999 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除