- 博客(39)
- 收藏
- 关注
原创 各省政府工作报告词频统计+数据处理
背景是这样的,需要统计各省各年的政府工作报告中关于能源环境的词频,以论证该省对能源环境的重视程度。工作报告格式均为txt,txt文档前四位需为年份数字(便于后续统计);文件路径为’./XX省/2020年工作报告.txt’。输出为excel格式如下:province20002001…2021湖南省关于能源的词频………河北省关于能源的词频………XX省……………………这里需要用到以下几个包:# 产生路径,用于遍历impo
2021-09-29 10:38:17
664
原创 2022转转秋招数据分析sql(2)连续签到天数
计算连续签到的天数!题目信息如下:table_name:t_signcolumns:id–iduid–用户idsign_date–签到日期sign_flag–今日是否签到:0–未签到,1–已签到输出信息如下:输出截至’2021-08-06’当前每个用户已经连续签到的天数,并按照天数降序排列。输出uid,days# 思路:首先,选取出所有的未签到日期;然后,对每个用户的未签到日期进行降序排列,此时每个用户的第一条信息则为该用户最后一次未签到日期,此日期后该用户均为连续签到;最后,计算该日
2021-09-19 11:49:21
549
原创 2022转转秋招数据分析sql(1)商品排名前三
查找每个城市商品利润前三的商品及其信息!题目信息如下:table_name:t_ordercolumns:city_name–城市名称order_id–订单号goods_code–商品编码goods_name–商品名称order_status–订单状态:0–未完成,1–已完成product_price–商品金额product_pay_price–实收金额cost_price–商品成本输出信息如下:输出各城市利润额排名前三的商品,并输出对应的订单数与利润率利润率=成本/实收(题目里
2021-09-19 10:52:41
751
原创 2022京东秋招数据分析(最小战力)
简单说一下题目:打boss,每个boss有两个属性。第一个属性为战胜该boss所需要的最低战力,即你当前的战力大于等于该属性即可战胜;第二个属性为战胜该boss后你战力的提升值。有n个boss,你可以选择挑战boss的先后顺序,求战胜所有boss所需的战力值。import sysinput_n=sys.stdin.readline().strip(' ') # 读取第一行ninput_boss_info=list() # 建立初始listn=0 # 初始化读取行数# 逐行读取while int
2021-09-11 21:45:21
204
原创 2022携程秋招python题(航班排序)
排序题,要求输入输出如下输入要求:输入第一行为整数n,代表有n条结果,要求n大于0小于400第二行"NLXY299 1561 02:11"中"NLXY299 "代表航班编号(长度为7的字符串),"1561"代表金额([500,2000]整数),"02:11"代表时间(HH:MM),中间用空格间隔。输出要求:输出2n行,1~n行为按价格从低到高,输出顺序为金额、时间、航班编号;n+1~2n行为按起飞时间,输出顺序为时间、金额、航班编号。另:编译器环境不包含任何包,pandas、numpy均无。
2021-09-10 10:10:12
457
3
原创 FineReport学习日志------关于下拉框默认全选
即某个下拉框,刚初始化时默认为全选在该下拉框控件的事件中加入初始化javascript脚本,如下可直接复制粘贴使用this.doSelectAll();//默认全选this.setText(this.getText());//赋显示值
2021-08-30 08:50:39
2998
原创 FineReport学习日志------关于点击查询后隐藏部分视图
如题,即在设置好一些下拉框、搜索框的取值后,点击查询,将隐藏部分视图,出现剩下的视图。若任意一个下拉框、搜索框有取值,则查询后隐藏部分视图;若无取值,则不隐藏,或者说点击刷新后返回原来的视图。在查询按钮的事件添加javascript脚本即可,如下:# 时间-非必须# startmt :开始事件;endmt :结束事件var startmt = this.options.form.getWidgetByName("startmt").getValue();var endmt = this.opti
2021-08-30 08:44:14
425
原创 2022b站秋招sql题(1)
题目:你有一张table_a,需要计算2021年1月1日~6月30日各个内容分区前10%的up主明细填入table_btabel_a如下tid(内容分区)up_idvv(单日播放量)log_date(日期)游戏111120200101游戏132420200102游戏211320200101生活511220200101table_btid(内容分区)up_idvv(累计播放量)vv_rate(占分区播放量比例)
2021-08-27 10:16:36
518
原创 MySQL学习日志------窗口函数入门
窗口函数有点类似于LSTM中的时间窗的概念# 窗口函数形式# 如果没有over,则窗口为全部数据function(column1) # 此处function可以为avg、sum等over( partition by # 分组统计,要分列的组,有点类似group by order by # 要排序的列 rows between # 数据窗口范围 )# rows between使用方法rows between 2 preceding and current row # 取
2021-08-23 14:14:15
132
原创 MySQL学习------关于index索引
利用explain查看查询运行情况explainselect *from tablewhere condition# 输出如何查询这个条件,一般来说全表扫描创建index# 注意命名create index idx_name on table_name(column_name)查看indexshow indexes in table_name...
2021-08-17 10:48:41
335
原创 MySQL学习日志------创建、修改、删除dababase和table以及主键、外键等
创建databasecreate database database_name;create database if not exists database_name;删除databasedrop database if exists database_name创建tableuse database;# 删除table,如果存在drop table if exists table_name;create table table_namecreate table if not e
2021-08-13 13:32:42
208
原创 MySQL学习日志------事务transaction(简)
原子性:不论transaction中含有多少语句,只要有一个没有成功执行,则整个transaction都将不会执行创建transactionstart transaction;insert into table_name1set(..................);insert into table_name2set(..................);-- commit; # 确认以上操作-- rollback; # 退回以上操作查询当前# 显示当前的isolation
2021-08-12 15:38:25
96
原创 MySQL学习日志------数据类型2(JSON)
JSON类型创建JSON类型# key-value 类似dict# 首先插入一个json列columns_json(利用鼠标插入)# case1update table_nameset columns_json = '{ "key1" : [1,2,3], "key2" : 10, "key3" : { "key" : "value"}}'where condition # case2 # 使用mysql内置函数json_objectupdate table_name
2021-08-12 14:01:59
83
原创 MySQL学习日志------数据类型1(string、int、float、boolean、mnum、set、time、blob)
字符串类型CHAR(n) # 固定数据长度VARCHAR(n) # max:65535 (64KB)MEDIUMTEXT # max:16MBLONGTEXT # max:4GBTINYTEXT # max:255bytesTEXT # max:64KB 类似VARCHAR但一般使用后者 后者可以编入索引# 注意:# 英文占用1个字节,# 欧洲与中东语言占2个字节,# 亚洲语言(中文、日文等)占用3个字节整数类型TINYINT # 1B -128~127UNSIGNED TI
2021-08-12 13:58:37
241
原创 MySQL学习日志------event事件
有点类似定期任务查找event、开关event# 查找show variables like 'event%';show events; # 查看所有的events# 开关set global event_name =off/on创建/修改eventdelimiter $$create/alter event event_name # 创建或修改# 设置时间on schedule # 选一个就行 at '2021-08-21' # 指定事件执行 every 1 hour st
2021-08-12 10:32:25
116
原创 MySQL学习日志------触发器
触发器是涉及到插入、删除、更新前自动执行的一段SQL1、通常利用触发器增强数据的一致性2、记录数据改动情况创建触发器例如添加数据后对某合计列进行自动更新可以实现跨表更新,例如往A表中增加数据,触发器可以自动更新B表中的某些数据delimiter $$create trigger triggerr_name # 触发条件 after/before insert/update/delete on table_name1 for each row # 对每个插入的行都执行一次触发器b
2021-08-12 10:18:25
108
原创 MySQL学习日志------创建用户及权限管理
创建用户# 创建一个用户create user user_name identified by 'password'查看某个表格的用户权限select * from db_name.tabel_name.user# 输出某个数据库某个表格的用户权限查看某个用户的权限# 查看某个用户的权限show grants for user_name# 查看当前登录用户的权限show grants赋予权限grant all # 所有权限grant select,insert,update,
2021-08-12 09:32:00
63
原创 MySQL学习日志------关于函数function
函数只能返回单一值procedure可以返回多行多列的tabel创建function# 创建过程与procedure基本相同delimiter $$ # 使用sql自带的创建可省略create function function_name( parameter int )returns int # 定义输出类型 # 使用属性,可同时使用多个属性reads sql data # 读取modifies sql data # 修改,如果函数中upadte、insert、deletedet
2021-08-11 11:37:02
142
原创 MySQL学习日志------关于procedure
关于procedure:1、相当于一个封装的函数,可以用来输出相应条件下的数据,这一点和直接写where相同,但其可以用于程序化的更新update创建procedure# 创建proceduredilimiter $$ # 修改分隔符create procedure procedure_name()begin select * from tabel; # 每条语句后用;分隔end$$dilimiter ; # 修改分隔符调用procedure# 调用procedurecal
2021-08-11 11:24:02
316
原创 MySQL学习日志------关于视图view
视图的好处:1、信息安全,改动不涉及到原数据2、权限问题,没有某些表的修改权限创建视图create view view_name asselect *from table_name更新和删除视图# 删除视图drop view view_name# 更新视图create view or replace view_name asselect *from table_name可更新的视图# 视图内不含distinct# 视图内不含任何聚合函数:sum、max、min# 视图
2021-08-10 11:01:51
83
原创 MySQL学习日志------查找指定表名的位置
假如你的数据库较大,你想查找一张表在哪里目录下:SELECT table_schema FROM information_schema.TABLES WHERE table_name = '这里输入你要找的table的名字';输出为数据库名称!
2021-08-10 08:49:49
638
原创 MySQL学习日志------if与case
# if()函数 # 判断条件是否成立 # 仅能判断一个条件select if(condition,'True output','False output')from tabel# case函数# 可判断多个函数select case when condition1 then ‘aaaa’ when condition2 then ’bbbb‘ when condition3 then ’cccc‘ else ’dddd' endfrom tabel...
2021-08-06 17:21:06
59
原创 MySQL学习日志------ifnull与coalesce函数
# ifnull函数# 将columns中的null 替换成后面的字符串select ifnull(columns,'Not have something')from table# coalesce函数# 首先查找columns1中的null值# 若对应的columns2相应位置也为null值 则返回后面的字符串# 若对应的columns2相应位置不为null值 则返回columns2的值select ifnull(columns1,columns2,'Not have some
2021-08-06 16:56:49
229
原创 MySQL学习日志------常用日期函数
MySQL常用日期函数# now()函数 输出当前时间 # 年月日时分秒select now()# curdate()函数 输出当前日期# 年月日 select curdate()# curtime()函数 输出当前时间# 时分秒select curtime()# year()函数 输出时间中的年# 同理有month(),day(),hour(),minute(),second()# 输出类型均为intselect year(now())select month(now()
2021-08-06 16:42:24
88
原创 MySQL学习日志------常用的字符串函数
一些常用的字符串函数# length函数 输出字符串长度 3select lenght('aaa')# upper函数 将字符串转成大写 AAAselect upper('aaa')# lower函数 将字符串转成小写 aaaselect lower('AAA')# ltrim函数 删去字符串左侧的空格 aaaselect ltrim(' aaa')# rtrim函数 删去字符串右侧的空格 aaaselect ltrim(' aaa ')# trim
2021-08-06 16:14:03
85
原创 关于GDP的ARIMA模型
这是一个时间序列课程论文项目做了个arima数据来源是国家统计局的gdp数据可自行下载import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport statsmodels.api as smfrom statsmodels.tsa.arima_model import ARMAfrom statsmodels.tsa.arima_model import ARIMAfrom statsmodels.g
2021-08-06 15:06:59
5591
2
原创 SQL学习日志------一些基本的数值函数
一些基本的数值函数:# round函数 四舍五入 1.34select round(1.3353,2)# truncate函数 截断 1.33select truncate(1.3353,2)# ceiling函数 向上取整 2select ceiling(1.33)# floor函数 向下取整 1select floor(1.33)# abs函数 绝对值 5.2select abs(-5.2)# rand函数 0~1内的随机浮点数select rand()...
2021-08-06 11:54:59
39
原创 SQL学习日志------regexp入门用法
REGEXP 正则表达式 入门用法select *from tablewhere columns REGEXP '%%%'^AAA ------开头AAA$ ------结尾AAA|BBB ------ orAAA -------含有AAA即可[gi]e ------- ge or iee[gi] ------eg or ei[a-c]h -------ah or bh or ch
2021-08-06 11:28:18
601
原创 SQL学习日志------like用法
like用法select *from tablewhere columns like '%%%% '%%%可填入任意构造的组合,例如:^ABscd -------开头为ABscdABscd$ ------结尾为ABscd_y ------第一个字符任意,第二个字符为y%b% -------%为占位符,可代表任意多字符,及只要含有b就行...
2021-08-06 11:20:11
730
原创 记一次数据预处理(多变量时间序列处理)
俗话说的好数据预处理真是要花费70%的时间,这次的数据有40多w条,原来是卫星数据,老师已经处理成csv了,减少了很多工作量。数据是这样的,时间线补全,多个变量。citycode为城市代码首先,为数据分类,按城市、时间排序# 数据分类# 按城市排序,按时间排序others_var.sort_values(by=['citycode','year','month','day','hour'], ascending=True,inplace=True)查看各城市样本点个数
2021-04-11 10:41:59
1130
原创 样本熵的计算与可视化 python
样本熵的计算包和原理见下链接:# 计算样本熵 https://sampen.readthedocs.io/en/stable/#with-tox# 样本熵的解释 https://www.zhihu.com/question/266285555直接上可视化(我看了很多论文的图,都画这样)from sampen import sampen2def sample_entropy(IImfs): # 计算样本熵 m=1、2, r=0.1、0.2 sampen=[] fo
2021-04-08 22:09:22
4717
23
原创 CEEMDAN分解及其可视化 python
CEEMDAN算法网上已经有很多了,原理自行百度吧,大多都是使用pyEMD包进行操作,本文也是使用此包:https://pypi.org/project/pyemd/本文着重讲可视化,因为其自带的可视化不怎么好看。废话不多说,上代码。from PyEMD import CEEMDAN# tips:记得设置全局变量 IImfs=[] def ceemdan_decompose(data): ceemdan = CEEMDAN() ceemdan.ceemdan(da
2021-04-08 22:04:08
15186
68
原创 excel多列时间转化为timestamp python
excel多列时间转化为timestamp我们在将excel导入到python中时候,你的excel中的时间可能会有许多种,例如下面这种将日期和小时分开了:这里就这个问题提供一种思路:首先,将日期转化为Timestamp;然后,将时间转化为array,再转化为Timedelta;最后,可直接相加。代码如下:import pandas as pdimport numpy as npimport datetimedef exceltime_to_pytime(data):# 将e
2021-04-08 21:46:55
961
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人