自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python的getitem方法

下面我们定义一个动物园类,定义add方法添加动物,并使其支持索引和切片功能。通过在类中实现__getitem__方法,就可以使用索引和切片功能。Python的集合类型可以用索引和切片进行操作,比如列表和字符串。Python的集合类型可以用索引和切片进行操作,比如列表和字符串。以上就是索引和切片的实现原理,你学废了么?这篇笔记分享Python中的。

2023-06-16 10:17:32 276

原创 Python-len函数

在Python中,我们可以使用len函数求出元素个数,比如列表、元组、字符串等。下面我们定义一个动物园类,定义add方法添加动物,使用len函数返回当前动物数。自定义类型也可以实现同样的功能,比如pandas的DataFrame。像这种统一使用len函数求元素个数的现象,被称为Python中的。通过在类中实现__len__方法,就可以使用len函数。以上就是len函数的知识点,你学废了么?

2023-06-16 09:33:26 237

原创 hive sql实战案例-最高连续签到天数

求每个用户的最高连续签到天数

2023-05-10 10:32:56 824

原创 hive sql实战案例-求每个用户的前两笔订单

求每个用户按照pay_date排序的前两笔订单

2023-05-08 07:54:19 149

原创 hive sql 实战案例-row_number等排序窗口函数的区别

分别使用row_number、rank和dense_rank的对成绩进行排名1、row_number是行号,不会重复。2、rank数据相同的,给出并列排名,但是会跳跃3、dense_rank类似于rank,但不会跳跃。

2023-05-08 07:46:28 179

原创 hive sql 实战案例-求每个用户按月累积交易金额

求每个用户的GMV和按月累积GMV

2023-05-08 07:33:13 840

原创 hive sql实战案例-访问开始结束时间

在我们有一张用户访问区域的记录表,有三个字段:user_id表示用户ID,area表示用户访问的区域,visit_time是访问时间。求用户对某一区域访问的开始和结束时间,结果如右表所示。

2023-05-06 17:05:15 781

原创 hive sql 实战案例-查找密接

有如下用户访问表,每条记录是用户访问某地方的开始时间和结束时间,假设100是个小洋人,请找出与用户100同时访问某地的用户。

2023-05-06 16:18:00 81

原创 Hive sql实战案例-分类目按月累计动销商家数

Hive sql实战案例-分类目按月累计动销商家数

2023-05-06 09:52:00 359

原创 excel的if函数

判断是否及格=IF(A2>=60,“是”,“否”)

2021-07-31 09:06:27 166

原创 Excel小技巧

使用&连接内容在C列输入=A1&B1,就可以把A和B列的内容拼接成一起

2021-07-31 09:05:19 99

原创 谷歌浏览器截取长图

1、单击左上角应用2、单击chrome网上应用商店3、输入full screen 搜索,点击Full Page Screen Capture5、安装即可

2021-07-13 17:06:54 146

原创 hive-sql简单查询where筛选

where筛选使用where语句可以按条件筛选数据1 准备数据商品明细数据drop table if exists test.test_zw;CREATE TABLE if not exists test.test_zw( goods_name string COMMENT '商品名', brand_name string COMMENT '品牌名', spec string comment '规格', price double comment '价格')COMMENT '测

2021-07-07 11:42:55 3006

原创 Python正则表达式案例-提取评论数字

正则表达式:r’\d+.{0,1}\d*’:表示一个或多个数字+一个小数点或没有小数点+一个或者多个数字,可以取出12.3,12.34,1,123这些情况1、从’12.3w+条好评’提出12.3,返回12.3import re #加载正则表达式包rex=re.compile(r'\d+\.{0,1}\d*') #编译正则表达式mo=rex.search('12.3w+条好评') #查询mo.group() #返回12.32、从’1983条好评’,提取1983,返回1983。impo

2021-07-06 14:34:15 290

原创 pandas案例-提取评价数

从下面文本中提取商品评价数import pandas as pdimport numpy as np li=[[1,'12.3w+条好评'],[2,'1983条好评'],[3,'1条好评'],[4,np.nan]]df=pd.DataFrame(li,columns=['商品id','评价'])提取评价单位,当有’w’时,返回10000,否则返回1### 提取评价单位import numpy as np def my_func(x): num=1.0 if x is n

2021-07-06 14:30:27 171

原创 hive-sql简单查询之select语句

文章目录1 准备数据2 取出所有行和列3 限制返回行数4 选取指定的列5 重命名列6 单行注释7 distinct 去重8 group by 去重select语句是最基本最常用的sql语句,也非常简单。1 准备数据运行下面代码,在test数据库,新建一个test_zw表,并插入几条测试数据。drop table if exists test.test_zw;CREATE TABLE if not exists test.test_zw( name string COMMENT '姓名',

2021-07-06 10:56:26 1933

原创 hive窗口函数之排名函数row_number、rank和dense_rank

排名函数排名函数主要有row_number、rank和dense_rank。简单排名row_number是行号,不会重复,rank数据相同的,给出并列排名,但是会跳跃,dense_rank类似于rank,但不会跳跃,通过下面的案例来看一下区别。准备数据drop table if exists test.test_zw;CREATE TABLE if not exists test.test_zw( name string COMMENT '姓名', score double commen

2021-07-05 15:21:02 12403

原创 sql使用orderby排序

order by排序使用order by语句可以对返回的数据进行排序。准备数据drop table if exists test.test_zw;CREATE TABLE if not exists test.test_zw( name string COMMENT '姓名', course string comment '课程', score double comment '成绩')COMMENT '测试表'STORED as parquet TBLPROPERTIES('pa

2021-07-05 13:19:32 798 3

原创 Python包selenium自动访问网站

1.1 安装包在终端输入,以下命令安装,安装完成显示Successfully installed selenium-3.141.0pip install selenium 1.2 打开浏览器打开火狐浏览器from selenium import webdriver #加载包driver = webdriver.Firefox() 1.3 关闭浏览器使用quit方法,可以关闭浏览器。from selenium import webdriver #加载包import time dri

2021-07-04 09:51:28 204

原创 Python正则表达式案例-解析URL

取出商圈ID从下面链接出获取商圈id,shangquan_id=14586,就是14586https://sh.zu.anjuke.com/fangyuan/378535436?isauction=2&shangquan_id=14586&legoFeeUrl=abc分析:shangquan_id=加上一个或多个数字,下面代码可以’shangquan_id=14586’import re #加载正则表达式包s='https://sh.zu.anjuke.com/fangyuan

2021-07-03 23:39:42 501 2

原创 Python包selenium的geckodrive错误处理

selenium运行下面语句,会报错误,错误信息为:Message: ‘geckodriver’ executable needs to be in PATH.from selenium import webdriverdriver = webdriver.Firefox()Mac电脑的话,首先安装homebrew包管理器,打开官网:https://brew.sh/,终端运行下面语句,可能需要fq/bin/bash -c "$(curl -fsSL https://raw.githubuserco

2021-07-03 17:14:18 303

原创 mac安装homebrew

homebrew是mac的包管理器,有点类似于pip至于Python,安装好了homebrew可以更容易安装软件。首先安装homebrew包管理器,打开官网:https://brew.sh/,终端运行下面语句,可能需要fq,有时候世界就是这么简单。/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"如果上面不行的话,运行下面的代码试试,按步骤操作即可,我自己成功了

2021-07-03 17:07:13 101

原创 使用Python解析网页-BeautifulSoup

BeautifulSoupBeautifulSoup可以用来方便的解析html数据。作为一名数据分析师,我们有时需要爬点外部数据分析,不需要全部掌握这个包的内容。我们还是什么有用学什么,能解决问题,交上作业即可。1.1 最简案例加载包from bs4 import BeautifulSoup as BS创建一个html格式字符串,注意html的数据的结构html="""<html> <head> <title> beautiful soup 学习 &l

2021-07-02 17:41:07 383

原创 hive 正则表达式-regexp

regexp在hive和mysql中都可以使用,匹配商品名称中包含伊利的数据goods_name regexp '伊利' 等价于goods_name like '%伊利%'看起来也没啥,但是当后面的关键字是变量时,优势就很明显了。比如在BI系统中,使用goodsnamegoods_namegoodsn​ame,可以接收用户输入的关键字进行模糊查询。正表达式的写法如下,like的写法就要想办法处理百分号的问题。goods_name regexp $goods_name$ ...

2021-07-02 15:22:50 2425

原创 hive底表的坑-依赖链太长了

业务同学想要看虚假发货的定义,之前的文档找不到了,于是查看代码是如何判断的。判断逻辑来自表1的是否虚假发货字段。然后开始溯源,一不小心竟然查了十级。过程如下:1、是否虚假发货字段来自表1.2、表1的字段来自表2.3、表2的字段来自表34、表3的字段来自表4。5、表4的字段来自表5。6、表5的字段来自表6。7、表6的字段来自表7。8、表7的字段来自表8。9、表8的字段来自表9。10、表9的字段来自表10,终于找到你。这只是查个数据定义,一旦这个数据出问题,需要修复数据的话,呵呵,我太难了

2021-07-01 11:37:30 175

原创 hive和presto计算日期时间差

月份差:计算两个日期的月份差,下面代码只适用于hive,返回4select floor(months_between('2018-07-01','2018-02-04')) -- hive 日期差前面的日期减去后面的日期,返回-1,晚一天select datediff('2020-07-10','2020-07-11')小时差先转换为时间戳格式,计算秒级差,再换算成小时数select round((unix_timestamp('2021-07-01 11:10:10')-

2021-07-01 10:46:15 3524

原创 hive和presto时间戳处理

unix_timestamp返回当前时间的时间戳格式,整数类型,单位为秒1594695043select unix_timestamp() -- 返回当前时间的时间戳格式 1594695043 秒将指定日期转为时间戳,返回1577844548select unix_timestamp('2020-01-01 10:09:08') from_unixtime时间戳转日期select from_unixtime(1577844548)时间戳转日期,指定格式select from_un

2021-07-01 10:23:41 1001

原创 hive和presto处理月末月初

月份select substr(settle_date,1,7) 月初select trunc(date_add(current_date,-1),'MM') as month_first_day -- hive 月初select date_trunc('month',current_date) -- presto 月初select date_format('2020-01-02 10:09:08','yyyy-MM-01') -- hive-presto select trunc(

2021-07-01 10:15:55 3235 1

原创 hive日期时间获取星期几

使用下面的代码,返回星期几,适用于hive,不适用于presto。select case pmod(datediff('2021-06-30', '1920-01-01') - 3, 7) when 0 then '星期天' when 1 then '星期一' when 2 then '星期二' when 3 then '星期三'when 4 then '星期四' when 5 then '星期五' when 6 then '星期六' else '其它' end as week_day

2021-06-30 22:22:50 732 3

原创 hive日期时间常用函数

current_date返回当前日期select current_date -- 今天select date_add(current_date,1) -- 明天select date_add(current_date,-1) -- 昨天date_add和date_subdate_add,增加日期 ,负数减少日期select date_add('2020-01-01',1) -- 返回2020-01-02select date_add('2020-01-01',-1) -- 返回201

2021-06-30 22:18:41 462

原创 hive正则表达式

正则匹配使用regexp进行正则匹配准备数据drop table if exists test.test_zw;CREATE TABLE if not exists test.test_zw( stu_id int COMMENT '学生id', mobile string comment '手机号')COMMENT '测试表'STORED as parquet TBLPROPERTIES('parquet.compression'='SNAPPY'); insert in

2021-06-30 22:07:11 420

原创 presto和hive字符串常用函数

substr字符串截取从第二个字符开始,截到最后select substr('12345678',2) -- 返回 '2345678' 从第二个开始,截取3个字符select substr('12345678',2,3) -- 返回234concat 连接字符串可以连接不同类型返回abcd1234select concat('abcd',1234) 计算百分比select concat(round(gmv/total_gmv*2*100,2),'%') as `gmv占比`

2021-06-30 19:52:26 2674

原创 presto和hive处理json字符串数据

hive和presto可以使用get_json_object函数解析json字符串。简单json字符串准备数据drop table if exists test.test_zw;CREATE TABLE if not exists test.test_zw( stu_id int COMMENT 'id', info string comment '学生信息')COMMENT '测试表'STORED as parquet TBLPROPERTIES('parquet.compress

2021-06-30 17:28:26 3318 1

原创 十大经典增长案例

1 Uproar 增长案例Uproar是一家初创的游戏公司,当索尼、微软和雅虎等巨头都在大举进军游戏行业时,Uproar竟一跃成为十大游戏网站之一,拥有520万名游戏玩家,并于1999年12月成功IPO。产品打磨好后,Uproar需要尽快获取新用户。Uproar采取的第一个办法是在雅虎等门户网站投放付费广告,这有效地促进了增长。但是这种做法成本太高,同时索尼、微软、雅虎等都在推广他们的游戏,在网上铺天盖地打广告,Uproar的资金实力根本无法与他们抗衡,必须另辟蹊径。之后Uproar开发了几款小游戏,

2021-06-30 08:23:20 1007

原创 Python使用wordcloud绘制词云图导出图片

import matplotlib.pyplot as plt #图像展示库from wordcloud import WordCloud #加载包word_counts={'happy':1000,'play':500,'laydown':300}wc=WordCloud(max_font_size=100)wc.generate_from_frequencies(word_counts)wc.to_file('wordcloud.jpg') #保存图片...

2021-06-29 19:39:32 1295

原创 Python使用wordcloud绘制个性化词云图

加载一张图片,以图片的轮阔作为词云图的轮廓。import numpy as np from PIL import Imageimport matplotlib.pyplot as plt #图像展示库from wordcloud import WordCloud #加载包word_counts={'开心':800,'玩耍':500,'躺平':300,'大笑':100 ,'大哭':200,'搞笑':200,'段子':500,'笑话':300 ,'神话

2021-06-29 19:36:54 245

原创 Python解决苹果电脑WordCloud词云图中文乱码

使用wordcloud默认设置时,中文会显示乱码,苹果电脑,设置font_path="/System/Library/fonts/PingFang.ttc"解决中文乱码问题。import matplotlib.pyplot as plt #图像展示库from wordcloud import WordCloud #加载包word_counts={'开心':1000,'玩耍':500,'躺平':300} #定义词频数据font_path="/System/Library/fonts/PingFang.

2021-06-29 17:51:18 939

原创 Python利用WordCloud画词云图

安装wordcloud包,pip install wordcloud画一个简单的词云图import matplotlib.pyplot as plt #图像展示库from wordcloud import WordCloud #加载包word_counts={'happy':1000,'play':500,'laydown':300} #定义词频数据wc=WordCloud(max_font_size=100)#生成wc对象wc.generate_from_frequencies(word_

2021-06-29 17:46:22 250

原创 第13章 Python学习资料

1 python编程快速上手2016年7月出版,重点学习前6章与Python语言基础相关的部分,讲的还是非常好的,非常适合作为Python入门的第一本书。2 利用Python进行数据分析 第二版2017年10年出版,数据分析师必读书目,主要讲pandas,前1-3章讲简介及Python基础知识,这儿主要参考前三章。...

2021-06-29 15:20:05 63

原创 第12章 Python常用命令

jupyter简介jupyter是利用Python进行数据分析工作的主要环境。运行Python代码文件,必须和jupyter文件在同一个目录下%run hello.py 查看当前目录%pwd 查看运行时间-多次%timeit np.dot(a,a)查看运行但时间-单次%time显示图片设置%matplotlib inline 查看datasets的所有方法属性datasets.*?Jupyter 小技巧选中多行代码按tab键缩进,选中代码,按shift+tab取消

2021-06-29 15:19:31 659

hiveSQL实战案例

HIVESQL实战案例,包括题目、测试数据及代码

2023-05-26

Python应知应会.pdf

提炼整理数据分析师Python语言基础应该了解和掌握的知识点,适合定期快速过一遍。

2021-06-29

空空如也

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

TA关注的人

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