- 博客(78)
- 收藏
- 关注
原创 pivot_table的应用
columns = df[“type”].unique().tolist() #获取列的不重复值,并保存为list。这样通常是不能够直接进行后面数据处理操作的。因此这里建议将此重新保存为dataFrame,用到的函数可以是。columns = [‘timestamp’] + columns # list的合并,直接 +df2.columns = columns #定义dataframe的列名。
2024-09-29 20:43:45
190
1
原创 excel表格不显示0
第2、选中数据范围,【文件】–【选项】–【高级】,把“在具有零值的单元格显示零”前面的勾选取消掉。表格中单元格中的0值没有任何意义,如果我们想让表格中的0值不显示。操作方法:选中数据区域,ctr 1或者设置单元格格式,自定义。
2024-01-16 09:37:52
508
原创 list简单处理
统计单个元素的数量,可以直接使用list 自带的count()函数。如果两个list其中一个是另一个的子集,可直接用以下代码。print(len(a)) # 输出5。1、求两个list中不同的元素。2、求两个list中的交集。3、求两个list中的并集。
2023-12-06 14:29:29
465
原创 python的常用基本语句pandas必知必会
python的4个内建的数据结构:列表List [1,2,3]元组tuple (1,2,3)字典dictionary {‘data’:1,‘data2’:2}集合set{1,2,2,3} 或者set([1,2,2,3])# 集合是会自动去重为{1,2,3}的列表和元组可以用到的函数:cmp(a,b)比较,len(a),max(a),min(a),sum(a),sorted(a)列表独有的函数:a.append(199),a.count(1)
2023-08-24 15:35:39
418
原创 客群质量分析、特征挖掘——灵活使用pivot_tabl批量获取特征qcut分布情况
客群质量分析、特征挖掘——灵活使用pivot_tabl批量获取特征qcut分布情况
2022-09-10 15:36:11
276
原创 python将100wcsv数据随机切分50份批量保存在文件夹中
python将100wcsv数据随机切分50份批量保存在文件夹中改英文字段名为中文,并且保留客户号前导0,批量保存
2022-08-01 19:21:50
782
原创 python实现格兰杰因果关系检验
格兰杰因果关系检验的结论是一种统计估计,它先假设时间序列之间没有因果关系, 然后检验能否否定,如果能否定这个检验,那么这就可以验证这份时间序列数据对想要预测的目标是有效的。目标使用b预测a,a是要得出预测结果的序列:from statsmodels.tsa.stattools import grangercausalitytestsimport pandas as pdimport numpy as npdf = pd.DataFrame(np.random.randint(0, 100, siz
2021-10-27 20:25:14
2853
1
原创 hive 使用regexp筛选和替代特殊字符
```sql---替换regexp_replace(lower(name),'[^0-9a-zA-Z\\u4e00-\\u9fa5]','') 除中文字母数字以外的字符全部替换掉“\u4e00”和“\u9fa5”是unicode编码,并且正好是中文编码的开始和结束的两个值,所以这个正则表达式可以用来判断字符串中是否包含中文例如:select '李中*华',--李中*华regexp_replace(lower('李中*华' ),'[^0-9a-zA-Z\\u4e00-\\u9fa5]','.
2021-06-27 14:51:34
5091
4
原创 python将csv数据转化为txt
近期有一项这样的需求,将约500w条的数据从数据库里提取出来给到别人,但遇到csv只能最多展示110w条数据的困难。因此想到将数据保存为csv后转化位txt文档格式(没有行数限制)。亲测有效。import pandas as pddata = pd.read_csv('data.csv')with open('test.txt','a+') as f: # 现在jupyter新建一个txt空文档 for line in data.values: f.write((s
2021-06-27 14:43:32
5382
原创 coursera machine learning Linear Regression octave编程作业
1.octave提交作业1.1下载octave1.1.1网盘下载1.1.2官网下载http://ftp.gnu.org/gnu/octave/windows/1.2打开和运行octave1.2.1更改路径1.2.2运行代码1.2.3提交作业
2021-01-23 16:55:51
325
原创 【精选必读】navicat批量读取excel导入到数据库中操作详解
1.打开navicat比如在thousand这个连接下,批量将excel数据导入到该数据库下的表格中1.1右键thousand 打开命名为thousand的这个连接,其中含有建好的数据库pku1.2右键pku,打开pku这个数据库1.3右键“表”,打开导入向导,或者先将其中一个excel导入到数据库,比如显示的“review1”选择我们想导入的文件格式,比如excel file,点击下一步1.4点击下一步,点击… 从路径中选择需要导入的文件,选择所想导入的多个文件,文件的表头必须一致
2020-12-20 19:59:52
5780
原创 python连接mysql读取数据库详解
python连接mysql读取数据库详解# 连接数据库conn = pymysql.connect(host = '127.0.0.1' # 连接名称,默认127.0.0.1, user='root'#用户名, passwd='password' # 密码, port=3306 # 端口,默认为3306, db='pku' # 数据库名称, charset='utf8' # 字符编码)cur = conn.cursor() # 生成游标对象sql = "select * from pku
2020-12-20 19:30:14
369
原创 ‘Series‘ object has no attribute ‘decode‘
data2=str(data)data_cut=jieba.cut(data2)数据结构变成str即可
2020-12-01 19:21:32
1981
原创 AttributeError: ‘module‘ object has no attribute ‘cut‘
首先这个AttributeError: ‘module’ object has no attribute ‘cut’ 报错的原因是因为有jieba.py这个文件存在,或者jieba这样命名的文件存在,很多新人使用结巴 来分词的时候命名直接为jieba.py,但是其实官方给的教程代码里有import jieba,这样就会引用到你自己这个教程文件jieba.py,而没有引用官方的库,这样自然cut这个方法就没有,所以报错。解决方法:1、不要使用jieba.py来命名你的测试文件。2、你一开始就是用jieb
2020-12-01 19:19:39
547
原创 identifiers must not start with a digit; surround the identifier with double quotes
identifiers must not start with a digit; surround the identifier with double quotes或许你尝试了很多遍也没有解决这个问题,甚至没有看懂这句话,没关系,现在你懂了因为你在命名的时候 用的是“7days“这样数字开头 英文结尾的,sql里面可以别名里含有下划线和数字,但一定不能用数字开头取别名哦~改个名字就好啦...
2020-11-21 16:26:06
7490
4
原创 tableau查询出来的数据和presto hive不一致
为什么同一段代码在tableau跑出来的结果跟presto不一样字段的名字 是 date time这样的比较有争议的名字,可以尝试换成 select cast(time as varchar(20)) as date1time最好用一下引号,限制一下长度
2020-11-21 16:20:53
877
原创 presto hive like用法总结,使用| 和 or like多个怎么写
–like与regexp_like的用法prestowhere (address like ‘%广州%’ OR address like ‘%北京%’ OR address like ‘%上海%’ OR address like ‘%深圳%’)或者presto:case when (regexp_like (industry,‘土石方|挖机|矿业|装修|建筑|采油|钢构|钢材|油田|煤矿’)) then 1 else 0 end as ZX_B5HIVE LIKEcount(distinct
2020-11-21 16:14:08
7875
原创 10位unix时间转化为时分秒的数据
10位的时间转化为时分秒的数据 format_datetime(from_unixtime(cast(substr(‘1566748800000’,1,10) as int)),‘yyyy-MM-dd’)
2020-11-21 15:22:06
385
原创 使用hive alter进行改删等操作
—改列名和列型ALTER table dm.table2 change column txn_num txn_num3 string;—增列 为空值ALTER table dm.table2 ADD columns (txn_num2 int);–或者ALTER table dm.table2 replace columns (txn_pas_num int,txn_pas_num2 STRING);—表改名ALTER table dm.table2 rename to dm.table3;
2020-11-21 15:17:42
958
原创 SQL union的用法
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。SQL
2020-10-25 17:51:14
725
原创 SQL函数汇总(超全!!!)
abs(X)The abs(X) function returns the absolutevalue of the numeric argument X. Abs(X) returns NULL if X is NULL. Abs(X) returns 0.0 if X is a string orblob that cannot be converted to anumeric value. If X is the 
2020-10-03 16:58:09
672
原创 窗口函数之 lead() over(partition by ) 和 lag() over(partition by )
lag() over() 与 lead() over() 函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前 N 行的数据 (lag) 和后 N 行的数据 (lead) 作为独立的列, 从而更方便地进行进行数据过滤。这种操作可以代替表的自联接,并且 LAG 和 LEAD 有更高的效率。 over() 表示 lag() 与 lead() 操作的数据都在 over() 的范围内,他里面可以使用 partition by 语句(
2020-10-03 15:36:40
14712
转载 正则表达式regexp_like的用法详解
正则表达式regexp_like的用法详解ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。
2020-10-03 15:28:25
46556
1
原创 数据库里两个数写错了怎么通过查询的方式纠正
同事不小心将某一天的两个产品的几百条渠道号,14 15记反了,数据库是不可能改了,怎么样能查到正确的结果呢SELECTID,CASE WHEN DATE='2020-07-01‘ and channel = 14 then 15else channel end as channel
2020-09-10 20:43:50
183
原创 SQL row_number函数详解,row_number多个partition怎么写
selectrow_number()over(partition by id order by date asc ) as rn当rn = 1留下的就是最小date下的id了
2020-09-10 20:39:31
2722
原创 presto SQL快捷获取每月第一天
SELECTCAST(DATE_ADD(‘day’,1-day(current_date),current_date)as varchar(20))
2020-09-10 20:37:41
3521
2
原创 SQL case when 多个条件怎么写
示例CASE WHEN ID = 101 THEN ‘A1’ WHEN ID = 102 THEN ‘A2’ ESLE NULL END AS ID
2020-09-10 20:35:50
2128
原创 灵活使用inner join,on≤,limit计算最近15天的年度累计值
工作中遇到这样一个需求,计算最近15天的 今年20200101来每一天的用信年度总额,年度用信总人数SELECTA2.DATE,SUM(A1.USE_LOAN_CNT) AS USE_LOAN_CNT,SUM(A1.USE_LOAN_AMT) AS USE_LOAN_AMTFROM (SELECT DATE,COUNT(DISTINCT ID) AS USE_LOAN_CNT,SUM(USE_LOAN_AMT) AS USE_LOAN_AMTFROM TABLE1WHERE ETL_
2020-08-15 19:58:36
416
原创 left join on多个条件怎么写
有时我们不仅需要用一个字段去关联,还希望两个表的两个字段都是一样的,这时候可以这样写select * from(select id,name,code from table1) aleft join(select id,name,code from table2) bon a.id = b.id and a.code = b.code有时候on出错的话,可以用caston cast(a.id as varchar(40)) = cast(b.id as varchar(40))and
2020-08-15 17:49:19
8463
1
原创 tableau数据可视化心得之一
1.能写一个大一点的sql,就不要用联接,奇慢无比。但tableau查询上限是100,所以往往在hive里建立临时表再查询会提高查询效率2.tableau不能识别汉字的字段,有中文字段要先转换成英文,后续再转化成中文,切忌!3.tableau对于重复出现的字段会报错,一定要换一个名字!4.实时和提取的区别,为什么有时候你使用tableau很卡,可能是因为你的数据没有进行数据提取,页面总在不断地实时刷新。对于想在T+1自动更新在tableau的报表,是必须要将数据提取保存在本地的!5.未完 待后续不断
2020-08-09 15:33:06
3282
原创 MCM2020C题 基于XGBoost+LR模型
```pythonimport pandas as pdfrom numpy.random import randfrom numpy.random import seedfrom scipy.stats import spearmanrimport seaborn as snsimport xgboost as xgbfrom sklearn.model_selection im...
2020-07-28 22:33:46
400
3
原创 美国数学建模比赛2020 MCM C题代码详解3
重要提示!!!!!本文中的部分代码都已经公开发表在论文中,不建议直接引用,可能重复比例比较大,任何导致学术造假的后果请浏览者自行承担!!!为确保无风险,请标明引用!!!*# #!-*- coding:utf-8 -*-import pandas as pdimport numpy as npimport xlrdimport matplotlib.pyplot as plth = pd.read_excel("C:\\Users\\thous\\PycharmProjects\\unt
2020-07-22 13:29:01
797
原创 美国数学建模比赛2020 MCM C题代码详解2
重要提示!!!!!本文中的部分代码都已经公开发表在论文中,不建议直接引用,可能重复比例比较大,任何导致学术造假的后果请浏览者自行承担!!!为确保无风险,请标明引用!!!*#coding=utf-8import reimport codecsimport os, time, sysf = codecs.open('C:/Users/thous/PycharmProjects/untitled4/hair.txt', 'r', 'utf-8')# f = codecs.open('F:/pa
2020-07-22 13:21:55
902
3
原创 美国数学建模比赛2020 MCM C题代码详解
重要提示!!!!!本文中的部分代码都已经公开发表在论文中,不建议直接引用,可能重复比例比较大,任何导致学术造假的后果请浏览者自行承担!!!# #!-*- coding:utf-8 -*-import pandas as pdimport numpy as npimport xlrdimport vaderSentimentfrom vaderSentiment.vaderSentiment import SentimentIntensityAnalyzerfrom sklearn.prepr
2020-07-22 13:08:55
2104
原创 sql division by zero 分母为0
有时我们想计算两个字段的比例,但有个别字段的数据为0,那么就会存在分母为0而报错。如果,我们想要分母为0 的时候输出比例为0,那么可以写一个case whenselect (case when count(a) = 0 then 0 else count(b)/count(a) end ) as ratio...
2020-07-22 12:56:04
6280
原创 sql count(a)/cout(b)得到的小数显示为0
count(a)为180,count(b)为2800,明显count(a)/cout(b)得到的是一个小于1的小数,然而count的结果默认为int那么小于1的小数都会显示为0解决办法之一:select cast(count(a) as double) / cast(count(b) as double) as ratio...
2020-07-22 12:53:26
961
原创 bagging、boosting的概念与区别
随机森林属于集成学习(ensemble learning)中的bagging算法,在集成算法中主要分为bagging算法与boosting算法Bagging算法(套袋发)bagging的算法过程如下: 从原始样本集中使用Bootstraping 方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集(k个训练集之间相互独立,元素可以有重复)。对于n个训练集,我们训练k个模型,(这个模型可根据具体的情况而定,可以是决策树,knn等)对于分类问题:由投票表决产生的分类结果;对于回归问题,由k个模型预测
2020-07-20 18:13:54
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人