自学
浅笑古今
得救之道,就在其中。
展开
-
HIVE中使用union报错缺少all
使用HIVE进行union操作,select col1,col2 from table_name1unionselect col1,col2 from table_name2在运行时报错,错误信息为:ERRORError while compiling statement: FAILED: ParseException line 3:0 missing ALL at 'select' near ''提示少了ALL。通过查询官方union的用法说明知,Hi...原创 2020-09-23 11:05:08 · 1492 阅读 · 0 评论 -
hive实现行转列
示例,name label 张三 A 张三 B 张三 C hive逻辑,select name ,CONCAT_WS(',', SORT_ARRAY(COLLECT_SET(label))) as label_arrfrom table_name group by name 结果如下,name label_arr 张三 A,B,C原创 2020-08-26 16:11:41 · 2405 阅读 · 0 评论 -
hive累计求和
需求:part为地区,amount为消费金额,按amount降序排列并对amount累计求和。造一批数据,SELECT '1' AS part, 11 AS amountUNION ALLSELECT '2' AS part, 33 AS amountUNION ALLSELECT '3' AS part, 22 AS amountUNION ALLSELECT '4' AS part, 55 AS amountUNION ALLSELECT '5' AS part, 44 AS原创 2020-08-25 18:33:04 · 3273 阅读 · 0 评论 -
利用python通过站长之家查询ip地址归属地
import sysimport osimport requestsfrom bs4 import BeautifulSoupimport socketimport reimport pandas as pdimport random import time#匹配ip地址def matchip (ip): url = "http://ip.chinaz.com/" try: url = url+str(ip) except: p.原创 2020-07-28 13:01:07 · 2078 阅读 · 0 评论 -
network定制顶点颜色
import networkx as nximport matplotlib.pyplot as plt#添加顶点和边plt.figure(figsize=(10, 10))G_test = nx.Graph();G_test.add_node('A')G_test.add_node('B')G_test.add_node('C')G_test.add_node('D')G_test.add_edge('A','B',weight=1)G_test.add_edge('C','B',w.原创 2020-06-16 14:17:56 · 4527 阅读 · 1 评论 -
sparkDF与pandasDF相互转化并将sparkDF存入hive
import pandas as pdfrom pyspark.sql import SparkSessionspark= SparkSession\ .builder \ .appName("Dataframe") \ .getOrCreate()data=pd.DataFrame([[1,2],[3,4]],columns=['a','b'])data_values=data.values.tol.原创 2020-06-14 11:13:37 · 3198 阅读 · 0 评论 -
用户留存率问题计算详解
数据分析工作中经常会遇到计算用户留存的相关问题,例如我们现在遇到这样一个场景,某APP,它的新增用户的次日留存、7日留存、30日留存为60%、30%、15%,请模拟出来,每天如果日新增5万用户,那么30天后,它的日活数会达到多少?根据问题,我们已知次留,7留和月留,可以在excel里生成一个留存率预估模型。通过现有数据插入图表,然后点击图表,选择“添加元素”→“趋势线”→“指数”,针对...原创 2020-04-30 21:03:34 · 3896 阅读 · 0 评论 -
SQL中如何统计员工最大连续打卡天数
针对员工最大连续打卡天数等类似问题SQL求解,思路如下,示例数据如下,id date success 1 2020/4/2 1 1 2020/4/3 1 1 2020/4/4 1 1 2020/4/5 0 1 2020/4/6 1 1 2020/4/7 1 2 2020/4...原创 2020-04-13 16:52:12 · 3995 阅读 · 1 评论 -
偏度与峰度(附python代码)
1 矩对于随机变量X,X的K阶原点矩为X的K阶中心矩为期望实际上是随机变量X的1阶原点矩,方差实际上是随机变量X的2阶中心矩 变异系数(Coefficient of Variation):标准差与均值(期望)的比值称为变异系数,记为C.V 偏度Skewness(三阶) 峰度Kurtosis(四阶)2 偏度与峰度 3 利用matplotlib模拟偏度和峰度...原创 2018-12-03 11:06:22 · 31937 阅读 · 1 评论 -
Hyperopt报错HyperoptEstimator.fit报错[Errno 22] Invalid argument的解决办法
在使用Hyperopt测试下面官方的例子时,报错[Errno 22] Invalid argumentfrom hpsklearn import HyperoptEstimator, any_classifier,any_preprocessingfrom sklearn.datasets import load_irisfrom hyperopt import tpeimport n...原创 2018-12-04 11:11:00 · 1230 阅读 · 0 评论 -
关于python 中出现 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)的解决办法
由于python默认是ascii编码当python尝试转换为其他编码的时候,要先把它转换为unicode编码,再转成目标编码但是,Unicode编码最大只有128那么长,因此超出了长度就会报这个错误。方法1:改变python文件的默认编码方式import sysdefaultencoding = 'utf-8'if sys.getdefaultencoding() != ...原创 2018-12-04 10:08:55 · 10421 阅读 · 1 评论 -
Dataframe求众数的解决方法
Pandas在实际使用过程中,遇到如下问题。有如下一个Dataframe,打算对A的每一个类别求B的众数,但是不能使用Dataframe.groupby('A').mode(),报如下错误。>>import pandas as pd>>df = pd.DataFrame({'A':['a','a','a','a','b','b','b','b','b'],'B'...原创 2018-11-26 15:01:00 · 10260 阅读 · 0 评论 -
np.newaxis知识点整理
做kaggle比赛时,看到有方法中用到np.newaxis,现将知识点整理如下。>>import numpy as np>>type(np.newaxis)NoneType>>np.newaxis == NoneTrue可以发现np.newaxi等价于 None。1>>x = np.array([0, 1, 2])>...原创 2018-11-23 10:41:43 · 241 阅读 · 0 评论 -
Python数据可视化-seaborn
详细介绍可以看seaborn官方API和example galler。1 set_style( ) set( )set_style( )是用来设置主题的,Seaborn有五个预设好的主题: darkgrid , whitegrid , dark , white ,和 ticks 默认: darkgriimport matplotlib.pyplot as plt impor...转载 2018-11-22 17:29:31 · 1636 阅读 · 0 评论 -
seaborn.heatmap操作手册
本文转自seaborn.heatmap官方操作手册:http://seaborn.pydata.org/generated/seaborn.heatmap.htmlheatmap很好,很强大!seaborn.heatmapseaborn0.9.0seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, r...转载 2018-11-22 16:33:19 · 5742 阅读 · 1 评论 -
回归评价指标:MSE、RMSE、MAE、R2、Adjusted R2
我们通常采用MSE、RMSE、MAE、R2来评价回归预测算法。1、均方误差:MSE(Mean Squared Error)其中,为测试集上真实值-预测值。2、均方根误差:RMSE(Root Mean Squard Error)可以看出,RMSE=sqrt(MSE)。3、平均绝对误差:MAE(Mean Absolute Error)以上各指标,根据不同业务,会有不...原创 2018-11-22 14:36:01 · 184675 阅读 · 25 评论 -
将excel批量转为csv文档
import pandas as pdimport os #查找符合文件类型的文件def file_name(file_dir,source_type): L=[] for root, dirs, files in os.walk(file_dir): for file in files: if os.pa...原创 2019-01-02 21:01:07 · 1535 阅读 · 0 评论 -
关于XGB.booster()报错TypeError: 'str' object is not callable的解决方法
当使用XGB想得到特征重要性时报错,代码及报错如下,model = XGBRegressor( learning_rate = 0.1, n_estimators = 300, max_depth = 7, min_child_weight = 3, subsample = 0.8, colsample_bytree = 0.8, s...原创 2018-11-22 10:02:07 · 4288 阅读 · 1 评论 -
box-cox转换及变换参数lambda估算方法
我们进行数据转换的原因是:除了小样本可以考虑非参数,大部分的统计原理和参数检验都是基于正态分布推得。关于box-cox转换的基础内容请看:BoxCox-变换方法及其实现运用.pptx了解极大似然估计:极大似然估计思想的最简单解释通过上面的内容可以知道, boxcox1p变换中y+c的+c是为了确保(y+c)>0,因为在boxcox变换中要求y>0 python...原创 2018-12-03 14:45:34 · 18572 阅读 · 2 评论 -
Hyperopt入门
当我们创建好模型后,还要调整各个模型的参数,才找到最好的匹配。即使模型还可以,如果它的参数设置不匹配,同样无法输出好的结果。 常用的调参方式有Grid search 和 Random search ,Grid search 是全空间扫描,所以比较慢,Random search 虽然快,但可能错失空间上的一些重要的点,精度不够。 而Hyperopt是一种通过贝叶斯优化来调整参数的工具,该方法较快的速...原创 2018-12-05 15:51:51 · 22135 阅读 · 8 评论 -
利用Python定制个性化词云
一、实验介绍1.1 实验内容在新媒体时代,人们面对层出不穷的大数据,很容易陷入信息盲区,如何有效处理和利用这些数据,成为人们急须解决的问题之一。针对文本数据,目前人们通常采用自然语言处理技术进行重要信息的挖掘。而这些挖掘出的信息究竟以何种方式组织起来才能方便人们进行理解、浏览、传播及应用,是一个值得关注的问题。“词云”就是为此而诞生的。“词云”是对文本中出现频率较高的“关键词”予以视觉上的...原创 2018-08-09 14:36:48 · 10065 阅读 · 2 评论 -
利用python获取身份证号中年龄和性别信息
import datetimeclass GetInformation(object): def __init__(self,id): self.id = id self.birth_year = int(self.id[6:10]) self.birth_month = int(self.id[10:12]) ...原创 2019-05-29 15:57:50 · 19390 阅读 · 0 评论 -
Python随机数
这里只涉及random库。import random1、随机生成 0 到 1 之间的浮点数,random.random() 方法会返回 [0.0, 1.0) 之间的浮点数。random.random()0.73177820974426632、随机生成 a 与 b 之间的整数,使用 random.randint(a , b) 方法,你可以生成一个 a 与 b 之间的随机整数...原创 2019-04-16 15:10:25 · 2614 阅读 · 0 评论 -
利用Python实现数据透视表和交叉表
1、透视表 pivot table pd.pivot_table(data,values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True,margins_name='ALL')其中,data:DataFrame对象values:要聚合的列或列的列表in...原创 2019-01-16 11:37:01 · 4287 阅读 · 0 评论 -
利用python 计算百分位数实现数据分箱
对于百分位数,相信大家都比较熟悉,以下解释源引自百度百科。百分位数,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个观测值按数值大小排列。如,处于p%位置的值称第p百分位数。因为百分位数是采用等分的方式划分数据,因此也可用此方法进行等频分箱。import pandas as pdimport numpy a...原创 2019-01-25 12:25:44 · 9184 阅读 · 0 评论 -
利用python 获取当前文件夹下所有文件名
这里通过os下的两个函数实现,os.walk()和os.listdir()。import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir): print(root) #当前目录路径 print(dirs) #当前路径下所有子目录 ...原创 2018-12-18 14:18:01 · 1058 阅读 · 0 评论 -
sklearn中的交叉验证
1 数据集的划分训练集、验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用。在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train set),验证集(validation set),测试集(test set)。那为什么要进行数据集划分呢?这是为了防止模型的过拟合,如果我们把所有数据都用来训练模型的话,...原创 2018-12-14 10:55:19 · 2666 阅读 · 1 评论 -
Selenium+Python爬取房天下二手房数据
注意!注意!注意!本文中大图较多,建议使用PC查看,手机端效果较差!在上篇“Selenuim+Python网络爬虫基础讲解”博文中讲了一些Selenium的基础知识,接下来就要开始实战了。其实使用Selenium爬取网页的思路很简单,首先梳理一下爬取流程。打开二手房珠海地区首页http://zh.esf.fang.com/,首先会出现一个屏蔽页,我们需要点击“我知道了”,才能继续点击其...原创 2018-11-16 12:07:49 · 3595 阅读 · 5 评论 -
Selenium+Python网络爬虫基础讲解
环境搭建使用selenium打开谷歌浏览器下载谷歌浏览器,并根据浏览器版本安装对应的Chromedriver。查询chromedriver支持版本:selenium之 chromedriver与chrome版本映射表(更新至v2.43)资源下载地址:所有版本chrome、chromedriver、firefox下载链接将下载好的Chromedriver放置到python的安装目...原创 2018-11-16 11:27:45 · 377 阅读 · 0 评论 -
数据平滑(log1p和exmp1)
log1p将一个数据压缩到了一个区间,与数据的标准化类似。log1p函数有它存在的意义,即保证了x数据的有效性,当x很小时(如某个数值为1e-99),由于太小超过数值有效性,用log计算得到结果为0,换作log1p则计算得到一个很小却不为0的结果。下图是numpy.log1p说明文档中给出的一个例子。log1p的优点:在数据预处理时首先可以对偏度比较大的数据用log1p函数进行转化,...原创 2018-11-14 16:06:13 · 1790 阅读 · 0 评论 -
KFold与StratifiedKFold 的区别
StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同。import numpy as np from sklearn.model_selection import KFold,StratifiedKFoldX=np.array([ [1,2,3,4], [11,12,13,14], [21,2...原创 2018-09-03 09:46:17 · 11554 阅读 · 1 评论 -
Numpy.random.seed()的用法
Numpy.random.seed()用来设置随机数生成的随机种子。在seed(n)中,当n的值相同时,生成的随机数相同,其中的n为整数。用例子说话:首先引入numpyimport numpy as np设置随机种子,生成随机数np.random.seed(0)np.random.rand(4)array([ 0.5488135 , 0.71518937, 0.60...原创 2018-08-31 15:19:12 · 6492 阅读 · 0 评论 -
python中matplotlib添加图例和注解
图例和注解清晰连贯地解释了数据图表的内容。通过给所显示的数据进行简短的描述,可以让观察者更容易理解。import matplotlib.pyplot as pltimport numpy as np# generate different normal distributionsx1 = np.random.normal(30, 3, 100)x2 = np.random.norma...原创 2018-08-27 16:38:40 · 51662 阅读 · 0 评论 -
Python3中出现“No module named 'StringIO'”错误处理方法
Python3中已将StringIO归入io,调用方法如下:import ioiost = io.StringIO()原创 2018-08-17 14:14:59 · 39789 阅读 · 2 评论 -
python词云进阶——三国版
1 实验内容 在进行了上一个实验《利用Python定制个性化词云》之后,掌握了初步的词云制作。出于对三国历史的喜爱,因此想制作一个关于《三国演义》版的词云,以一个新的角度去看这段历史。但由于本人掌握的数据分析技术有限,直接处理原版的《三国演义》难度很大(因为原版中很多简称,例如“公”、只称名不称姓等),因此文本内容使用的是《白话三国》(电子赵括 著)的TXT版本(讲真~...原创 2018-08-13 13:04:09 · 2601 阅读 · 0 评论 -
利用python爬取微信文章
本文选自《精通Python》爬虫第六章,源码爬取过程中有部分问题,因此修改后分享给大家。注:阅读此文需要掌握Python爬虫的基础知识。推荐此书作为Python爬虫入门书籍,这本书条例很清晰,代码全面,里面讲解的很详细,非常适合新手入门。import re import urllib.requestimport time import urllib.error#模拟成浏览器h...原创 2018-07-31 10:16:03 · 1101 阅读 · 0 评论 -
利用N-Gram模型进行数据清洗
注:本文节选自《Python网络数据采集》[Ryan Mitchell著],其书附带源码不能完美运行,经修改调试后得到预期效果,将此分析处理过程分享给大家。1.准备知识此文需要提前掌握的知识有正则表达式、基础爬虫知识、数据字典、列表等。此外本文代码的编译环境是Python3,其中某些语句与Python2稍有不同。2.N-Gram模型在自然语言里有一个模型叫做n-gram,表示文字或...原创 2018-07-25 10:14:17 · 1646 阅读 · 0 评论 -
初学mysql经典练习题及答案
创建如下各表 班级表:class学生表:student教师表:teacher课程表:course成绩表:score创建各表的语句:class表创建语句create table class(cid int not null auto_increment primary key, caption varchar(32) not null)engine=innodb default charset...原创 2018-07-06 10:56:58 · 12231 阅读 · 0 评论 -
[转]Kaggle_Titanic生存预测 -- 详细流程吐血梳理
转载自https://blog.csdn.net/koala_tree/article/details/78725881Kaggle_Titanic生存预测 -- 详细流程吐血梳理原创 2017年12月06日 10:55:55标签:Kaggle /泰坦尼克 /数据分析 /机器学习 /xgboost /989编辑删除作者: 大树先生 博客:转载 2018-07-10 09:44:07 · 936 阅读 · 0 评论 -
[转]csdn如何转载别人的文章
转载于:http://blog.csdn.NET/jiangping_zhu/article/details/18044109作者:包心菜加糯米饭1、找到要转载的文章,用chrome浏览器打开,右键选择审查元素2、在chrome中下方的框里找到对应的内容,html脚本中找到对应的节点,选中节点,网页上被选中内容会被高亮显示,然后右键菜单选中 Copy as HT转载 2018-07-10 09:46:43 · 149 阅读 · 0 评论