Python
文章平均质量分 71
兜兜转转还是回到从Python入门编程的世界,加油吧!小白
小白掌柜
Atypical programmer
展开
-
三一数据应用大赛之逾期风控预测比赛的总结
前段时间参加了三一的这个逾期风控预测比赛(以下简称“风控”),今天看私榜成绩发现居然还提升了27名!????(虽然依然菜的一批????,离入围决赛差了0.03。。。)不过有进步就还是很惊喜!因为公榜还只是64名????。现在对整个比赛进行一个回顾。(PS: 由于官方保密规则,这里不会提供原始数据, 谢谢理解!)(PPS:这里主要是思路的整理,欢迎大佬分享更优的思路或解法;如果发现有错误的地方,欢迎指出。 ????)比赛整个流程????:1. 明确赛题任务2. 数据清洗3. EDA数据探索4原创 2021-07-02 16:50:13 · 633 阅读 · 6 评论 -
利用np.select对excel 每一行数据的某几列(多列)进行条件筛选并生成新一列数据的方法
还是最近的那个项目,最后收尾阶段遇到这样一个问题:根据表格每一行某几列的数据进行条件筛选后并生成新的一列数据。像下面这个示例一样????:需要根据每一行的“ 生日”,“地址”,“保险”是否有值来生成新的一列字段,比如叫“完整度”字段。就拿王佳来说,因为他的 “保险”字段是空值,但是“地址”和“生日”有对应的值。那么最后新字段 “完整度”这里就要填入 “比较完整” 四个字。同理,李明的“完整度” 就应该是“很完整”;胡曦就是“不完整”;最后章杰就是“很完整”。看起来是个比较简单的多列条件筛选问题,原创 2021-03-11 21:19:46 · 2026 阅读 · 2 评论 -
pandas将excel中多行多列单元格含有多个值拆分为一对一单行显示的方法(explode函数)
最近接了一个私人项目,今天在处理项目中数据的时候遇到这样的一组数据(数据已经处理过,只为示例):看掌柜用红色框住的两处,可以发现该多行单元格里不止一个值在里面,而且该数据集不止一列是这样的情况。。。如果你熟悉pandas的用法,肯定会第一时间说???? “用explode方法”。没错,确实可以用该方法处理单元格里面含有多个值的情况;但是官方只给出了处理单列的示例!!!(我们可以回顾一下pandas的官方exploded的用法和相关示例操作????)看到没,官方的解释是该方法可以复制索引值并转换像列原创 2021-02-26 20:19:43 · 2718 阅读 · 0 评论 -
“利用ARIMA模型对时间序列进行分析的经典案例(详细代码)”一文中会遇到的问题总结(一)
最近有好几个朋友在问关于这篇博客的多个问题????。这里掌柜打算做个总结,方便大家查阅。问题一:最后得到的时序预测是负值,怎样保证为正值?或者 如何还原原始序列以及用ARIMA对原始序列的一个预测?亦或遇到报错????“KeyError: 0 During handling of the above exception, another exception occurred:xxx”这三个其实都是问的同一个问题,即如何用ARIMA模型预测原始数据。这个问题一开始掌柜确实考虑掉了????,感谢评原创 2020-12-15 17:19:01 · 13247 阅读 · 6 评论 -
520,送你四种Python画玫瑰的方法
今天又是520????掌柜在网上收集了四种画玫瑰花的方法,希望有你喜欢的一种!第一种:顶上慢画玫瑰花????#第一种:画玫瑰的方法from turtle import *import time#初始化玫瑰#画布大小setup(600,800,0,0) speed(0)penup() # 提起画笔seth(90) #朝向90度fd(340) #向前移动指定的距离seth(0)pendown() #放下画笔#开始画speed(5) #画笔移动速度为5秒beg转载 2020-05-20 21:27:40 · 10789 阅读 · 9 评论 -
由一道简单的Leetcode题 “620. 有趣的电影 ”发现了一个有趣的东西 -- “位运算中的按位与运算”
今天掌柜随手翻了一道Leetcode的题来练手,对,就是上面的620这道题????找出有趣的电影 。这道题确实很简单,筛选数据的条件就三个,一个是判断description 不是boring;另一个就是id必须是奇数;最后还要按评分降幂排列。具体的题目和解法掌柜就不贴出来了,大家可以去leetcode官网查看。掌柜在自己提交了解法后会习惯性地去看别人的解法,想看看有没有更优解。于是就意外的发现一个高票的答案里面使用了标题里面的????位运算。于是就随手一搜,发现这是个很有趣的东西,打算这里多聊几句,原创 2020-05-15 20:14:53 · 2426 阅读 · 1 评论 -
Python读取文件夹下多个文件,却不是按数字标号从小到大的顺序读取的解决办法
今天遇到了用Python来进行批量读取同一个文件夹下的多个文件却不是按照从小到大的顺序读取的,出现了下面这样的情况:发现没?读取的文件顺序是乱的,不是我们想要的从小到大这样的顺序,即原文件这样:后来掌柜查阅一番后再思考了一下,发现它之所以会出现“乱序”是因为使用默认ASCII的字符串排序方式。就是如果前面都一样,那么就看下一位;所以这里除开’user_'后,它就按照先看后面数字的第一位来排...原创 2020-05-07 19:28:42 · 3969 阅读 · 9 评论 -
数据去重的各种方法汇总(三)
Pandas去重DataFrame接上篇,这篇就剩最后的用Pandas对Dataframe里面的数据去重,这里也有两种方法,可以直接看官方文档(但是掌柜觉得其实就是一种方法,因为第一种只是显示哪些重复。。。):使用duplicated方法,它会返回一个布尔向量,其长度为行数,表示行是否重复,但是并不会删除重复数据。来看实例:import pandas as pdimport num...原创 2020-03-27 19:03:08 · 2751 阅读 · 0 评论 -
数据去重的各种方法汇总(一)
这几天多次遇到数据去重的问题,所以打算整理一下几种不同类型的数据去重的方法(因为掌柜现在主要是数据分析方向,所以这里主要汇总Python列表、数据库的MySQL以及Pandas的Dataframe)。首先我们来看Python列表去重看下面这个例子:在这里插入代码片...原创 2020-03-23 22:12:08 · 2259 阅读 · 0 评论 -
大众点评前650家咖啡店的数据分析(三)分析篇
(接上篇)上篇掌柜分析了人均(mean-price)、地区(area)以及点评数(review-num),下面接着分析推荐菜(recommend)、评分(shop-num)以及多个变量之间的关系。先看推荐菜(recommend),掌柜统计了一下出现频率最高的10个饮品:结论五:在这650家咖啡店的数据里面,成都人民最爱点的咖啡就是拿铁????,其次是焦糖玛奇朵和澳白(Flat White),第...原创 2020-03-12 16:06:02 · 1824 阅读 · 3 评论 -
大众点评前650家咖啡店的数据分析(二)分析篇
根据之前获取的数据我们进行了如下分析。首先看单变量的人均消费,通过describe方法可以看出来是成都的整体咖啡店人均消费是45(以成都的工资来看有点贵):于是掌柜又直接可视化所有人均消费,人均消费多数在100以下,极个别超过500,最贵的是700+???(是不是会觉得奇怪,怎么会有一杯700的咖啡?????)所以掌柜又对超出100的咖啡店数据进行了一个查看:可以看出来这些都基本是西餐厅...原创 2020-03-12 00:26:30 · 2604 阅读 · 2 评论 -
大众点评前650家咖啡店的数据分析(一)爬虫篇
趁着疫情期间不能出门,于是掌柜的就继续在家捯饬代码。之前看到有个写了关于成都火锅店的数据分析,掌柜的看完后觉得想弄个咖啡店(因为喜欢喝咖啡☕),说干就干。结果在开头就碰钉子,大众点评的反爬措施不得不说一句:“厉害????!” 之所以这么说是因为发现他们家的数据是不开F12看着都正常,一开就是全是下面这样:然后查看多个咖啡店的信息都是如此,后来搜索后知道这就所谓的字体反爬!!!大众点评采用的反爬措施就...原创 2020-03-11 19:14:01 · 2633 阅读 · 25 评论 -
Pyecharts更改地图大小+安装多个地图包的方法
这两天在弄Pyecharts画地图的时候发现,虽然可以画出地图,但是地图中间那块都重叠在一起了,看起来不舒服。于是搜了一下官方文档看如何更改Map的大小,一开始以外是is_roam属性:后来发现并不是。。。这个是设置鼠标的缩放和平移。接着往下翻文档的时候又发现了一处:这才是掌柜需要的地图缩放方法: zoom = xxx (改成你想要的数字,数字越大,地图就会放大相应倍数,反之亦然)。...原创 2020-03-09 22:04:24 · 5532 阅读 · 5 评论 -
TypeError: can't multiply sequence by non-int of type 'float'的解决办法
这几天在画人均消费的可视化图时总是遇到问题,报错是:TypeError: can’t multiply sequence by non-int of type 'float’看字面意思很好理解,就是解析的时候遇到非整数的浮点数导致不能进行相乘的运算,所以出错是因为数据类型不对,因此解决办法就是转换数据类型!于是掌柜就去查看Excel表格中数据列的数据类型。打开Excel表格显示说这一列数...原创 2020-02-28 12:56:50 · 92297 阅读 · 2 评论 -
Attributeerror: 'worksheet' object has no attribute 'insert_cols'的解决办法
这几天在做大众点评的数据分析项目,在转换地址为经纬度坐标后想把数据插入原始表格,使用如下代码却报错:Attributeerror: ‘worksheet’ object has no attribute ‘insert_cols’???觉得奇怪,明明掌柜就是按照官方教程的步骤走的啊,怎么会报错?于是又开始谷歌一下,发现一些解法,但是并没有效。。。就在掌柜快要再次陷入迷雾中的时候,突然看到st...原创 2020-02-25 12:32:07 · 23728 阅读 · 1 评论 -
由换jupyter notebook的主题引发的一部debug的连续剧(三)
上篇说到最后爆出bug。。。到后台服务的连接没能建立, 我们会继续尝试重连, 请检出网络连接… 接着发挥谷歌的优势找到解决办法。就是把tornado降级为4.5.3pip install tornado==4.5.3然后终于正常连接上了:打开之前的文件准备继续编程,点击了运行命令后:没有正常出结果,而是一直在运行,于是我去看jupyter notebook的后台,发现这样一个新的b...原创 2020-02-20 19:01:15 · 473 阅读 · 0 评论 -
由换jupyter notebook的主题引发的一部debug的连续剧(二)
因为疫情原因,导致一直没机会更新上次的博客续集,现在又有时间了,继续更新这部debug连续剧的续集。上次说到掌柜好不容易把主题换掉了,但是打开后发现咋是光秃秃的一个页面?里面的文件去哪儿了???还有工具栏咋没显示。。。根据官方文档的解释,可以写如下命令,让工具栏显示出来:jt -t 你要换的主题名 -N -T然后重启即可生效。接着把默认的文件路径换成你自己希望存放的文件路径,文件夹一定要...原创 2020-02-15 18:10:57 · 1477 阅读 · 4 评论 -
由换jupyter notebook的主题引发的一部debug的连续剧(一)
重要的事情说三遍!没事不要随意使用升级命令(–upgrade)对 jupyter notebook的各种包!!!重要的事情说三遍!没事不要随意使用升级命令(–upgrade)对 jupyter notebook的各种包!!!重要的事情说三遍!没事不要随意使用升级命令(–upgrade)对 jupyter notebook的各种包!!!好了,现在回到主题这里,因为看jupyter notebo...原创 2020-01-21 14:54:47 · 407 阅读 · 0 评论 -
Python读取本地较大文件(出现Memory Error)的解决办法以及总结
因为要读取从大众点评爬下来的一些数据,所以在文件有点大的情况下就造成jupyter notebook在读取的时候直接卡死,出现memory error的情况。那么如何解决这样的问题呢?掌柜经过一番探索,终于找到解决的办法,先写上解决的代码:with open('你要读取的文件', 'r',encoding='utf-8') as f: for line in f: re...原创 2020-01-15 20:22:33 · 14488 阅读 · 0 评论 -
填坑 “NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported”的曲折过程+解决办法
又是因为在做数据分析的实战项目时候发生了一系列的踩坑、填坑过程(不止标题上面两个,限于字数),于是随手记录下来希望后面的朋友能避开!!!因为项目是用Python连接MySQL来进行数据分析的,所以一开始的步骤就要连接MySQL,这里采用的是SQLALchemy这个框架,于是当我写好这段代码运行的时候,提示报错为:没有“mysql。。。”于是就去anaconda里面安装了这个,重新运行,发现出...原创 2019-12-06 19:11:26 · 6469 阅读 · 10 评论 -
记一次因在anaconda上面安装imblearn包而引发的一系列踩坑过程(二)
接上回,已经满足了安装imblearn的前提条件了,但是再次去Anaconda Prompt里面安装还是报错了,只是这次是另一个问题:Solving enviroment: failed with initial frozen solve.Retrying with flexible solve.去Anaconda的 navigation里面安装也是报错:再次谷歌一下,发现好几个博客都说...原创 2019-11-22 21:06:08 · 2952 阅读 · 8 评论 -
Anaconda更新后,在Win10的开始菜单找不到Anaconda Prompt 快捷方式的解决办法
因为之前全部更新Anaconda包的时候也顺便更新了Anaconda,结果今天运行一段程序的时候突然报错说“seaborn”这个模块没安装?然后我就打算去Anaconda Prompt里面重新安装。但是当我打开开始菜单,并点开Anaconda文件夹的时候,发现里面并没有Anaconda Prompt 这个程序!...原创 2019-11-11 16:36:25 · 5168 阅读 · 17 评论 -
记一次因在anaconda上面安装imblearn包而引发的一系列踩坑过程(一)
还是因为在做数据分析的项目,要用到imbalanced-learn(imblearn)这个包来处理样本不平衡的问题,本以为应该只是简单的在anaconda上面安装就可以使用的,谁知发生了一系列坑坑的事情!(也正好扫了我的知识盲点????)好了,开启正文。首先一开始是在anaconda里面安装的,使用的命令是:conda install -c glemaitre imbalanced-learn...原创 2019-11-08 17:20:31 · 13497 阅读 · 15 评论 -
利用ARIMA模型对时间序列进行分析的经典案例(详细代码)
因为之前在学数据分析课程的时候老师讲到时间序列这里,但只是简单的对这个经典的时间序列案例介绍了一下,并没有涉及对差分次数d的查找、找ARIMA模型的p、q值和模型检验 这三个步骤。后来我搜寻了整个网络,终于结合各个文章的解释,对代码进行了重新的梳理,下面就是详细的整个代码过程(如果问题,欢迎提出来指正!????):# -*- coding: utf-8 -*-# 用 ARIMA 进行时间序列预测...原创 2019-10-23 21:33:39 · 46262 阅读 · 109 评论 -
如何理解《利用Python进行数据分析》一书中的rank()排名方法
还是因为在项目中需要对数据集进行排名,所以就去查找资料和翻书里关于pandas中如何对数据进行排名的方法,然后就学到了rank()。因为发现书里讲的很简洁,尤其是例子的解释很少,所以打算写下自己对书中案例的理解,希望能帮到有需要的人。如果有理解错误的地方,欢迎指出来我们一起探讨一下!????首先我们来看书中第一个例子:obj = pd.Series([7,-5,7,4,2,0,4])obj.ran...原创 2019-10-13 17:34:49 · 1259 阅读 · 3 评论 -
如何解决报错ValueError: Input contains NaN, infinity or a value too large for dtype('float64')的问题
这两天在做信用卡的数据分析项目,中途出现了除标题错误以外 + (ValueError: Found input variables with inconsistent numbers of samples: [56411, 27785])这两个报错,因为标题字数有限,所以只写了一个。现在我们先解决第一个问题:正如上面报错所写,错误原因就是:输入的数据里面包含NaN值或者无穷大的数据所以解决...原创 2019-10-25 18:21:49 · 84553 阅读 · 3 评论 -
在Win10上通过Anaconda来安装Tensorflow并在Pycharm中进行开发
之所以会开始想用Tensorflow,是因为之前用常规的验证码破解方法觉得有些繁琐,要把字符都切割成单个再一一识别。于是想有没有方法可以直接一整张图片来识别的,上谷歌一搜就发现还真有!于是打算再尝试用机器学习的方法来破解验证码。废话不多说,首先我们来安装Tensorflow这个框架。系统:Windows10安装工具:Anaconda3开发环境:Pycharm3.5.6Tensorflow版...原创 2019-05-28 21:04:04 · 1492 阅读 · 0 评论 -
Python利用selenium+Beautifulsoup破解动态class/id并提取相应文本的方法
最近小白掌柜接了领导一项任务,要全程自动化的注册一个网站并登录网站后逗留一段时间再离开,起初觉得这个应该难度不会太大,就欣然接受了。谁知,拿到具体需求后一分析纳尼??这个里面其实有好多难点,but本着我就是进阶的小白还是决定挑战下去!今天先不说其他的难点,只说关于如何提取动态class/id里面的文本(就是注册后网站一般都会给邮箱发一个验证码,要提取的就是它)的问题!!!进入正题,因为项目领导给...原创 2019-04-28 17:04:39 · 1731 阅读 · 0 评论 -
使用flask框架和新浪云sae搭建微信公众号自动回复的各种坑
前几天写完了这个小项目后本来打算写这个坑的,但是朋友突然让我帮忙写个定时抓取天气预报并发送到邮箱的程序就耽搁了一下,今天终于有空来续写。废话不多说,请看下面这个链接就是: 使用flask框架和新浪云sae搭建微信公众号自动回复的各种坑实在是没力气在重写,就直接把他转过来了,希望能对你有帮助!...转载 2019-04-12 21:00:08 · 330 阅读 · 0 评论 -
使用flask框架+新浪sae+图灵机器人api来做微信公众号自动回复的超详细方法
之前用图灵机器人的api写过一个自动回复的程序,觉得好玩于是就想不如把他移植到我的公众号里面去吧。其实图灵机器人官网有超级简单的植入方法:但是我任性地就想用更复杂的方法尝试一下,于是谷歌了一下,发现可以用flask框架+新浪SAE再配合图灵机器人api来搭建微信公众号的自动回复功能。本着人生就是来折腾的理念,废话少说,撸起袖子干!具体步骤/思路如下:1.创建一个图灵机器人账号,然后创建一个...原创 2019-04-06 19:13:45 · 1293 阅读 · 0 评论 -
使用pytesseract图像处理之中文识别(二)
今天继续之前的图像识别,这次在英文的基础上开始中文识别,首先添加中文识别包:chi_sim 这个文件。下载地址:https://github.com/tesseract-ocr/tessdata如果你有不明白的可以去官方GitHub看看:https://github.com/tesseract-ocr/tesseract下载后把chi_sim 这个文件安装到你的tessdata这个文件夹下...原创 2019-03-19 19:22:11 · 17287 阅读 · 4 评论 -
Python图像处理之识别文字(一)
今天意外在朋友圈看到一个朋友求助关于如何识别图片里的文字,并导出成TXT文档格式。掌柜的就想到最近用Python很顺手,记得之前看到过用Python结合Tesseract就可以导出图片中的文字的,于是说干就干。因为掌柜之前已经安装好Tesseract在电脑上,环境变量也设置好了,也用pip install了tesseract在终端上,所以就是直接敲代码的事。如果有不清楚怎么安装的朋友可以看看这位...原创 2019-03-15 13:28:21 · 4960 阅读 · 0 评论