自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】清理升级缓存以及无用包

非常有用的清理命令

2022-08-16 11:23:33 588 1

原创 【Python】python操作mongo的简单示例(待更新。。)

python操作mongo的简单示例

2022-07-21 12:29:52 396

原创 【redis】redis简单操作(待更新。。)

redis简单操作

2022-07-21 12:28:07 289

原创 【Linux】常用bash命令速查

linux命令速查

2022-07-07 12:51:17 729

原创 【Python】Excel固定宽高嵌入图片,并实现批量写入

python处理Excel,实现批量写入图片这其实是不符合预期的,图片的大小如果能够保证每张都一样大就好了。固定大小后,图片是经过压缩的完整代码 test.py

2022-07-04 12:55:57 1172

转载 【设计模式·Python】结构型模式

设计模式 结构型模式

2022-07-03 16:51:30 122

转载 【设计模式·Python】创建型模式

设计模式的创建型模式

2022-07-03 16:29:56 150

原创 【Pandas】Python处理数据透视(行转列、列转行)

Pandas 行转列 列转行

2022-07-01 13:02:38 1354

原创 【Pandas】一行拆多行以及一列拆多列

Pandas 拆分成多行或者多列

2022-06-30 19:32:22 515

原创 【Python】Linux获取文件夹大小

文件夹大小

2022-06-30 12:32:45 758

原创 【Flask+gunicorn+ supervisor】部署python项目

python 项目部署

2022-06-27 12:48:32 303

原创 【ClickHouse】批量写入ClickHouse 的几种方式

ClickHouse没有官方的Python接口,有个第三方的库,叫clickhouse-driver,笔者所知道的将数据批量写入的方式不是很多,这里列举最常见的3种方式。第一种方式 CSV文件cat /dev/shm/data | clickhouse-client -h 123.456.1.X --query="insert into database.table FORMAT CSV"```或clickhouse-client -h 192.168.1.X --query="insert int

2021-12-12 11:32:08 15049 2

原创 【Python】python程序在linux界面进行调试

说到 Python 调试就需要 pdb 这个模块网上关于这个python的调试介绍也很多很详细,但用的比较多的就那么几个,这里只讲一些最常用的。# 示例代码def add(*param): return sum(num for num in param)if __name__ == "__main__": a = 1 b = 2 import pdb; pdb.set_trace() a += 1 b -= 1 result = add(

2021-11-21 09:51:46 931

原创 【Pandas】pandas实战记录

Pandasdate_range获取两个日期之间所有的日期,并以指定格式输出>>> start_day = "2021-02-20">>> end_day = "2021-03-02">>> import pandas as pd>>> pd.date_range(start_day, end_day).map(lambda x: x.to_pydatetime().strftime('%Y-%m-%d')).to_list

2021-11-20 20:18:35 533

原创 【Python】通过 requests 获取文件字节流

首先需要理解requests 模块requests 模块模块说明requests是使用Apache2 licensed 许可证的HTTP库。用python编写。比urllib2模块更简洁。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作

2021-11-01 10:06:47 6135

原创 【Python】通过跳板机访问数据库

什么是跳板机?跳板机(Jump Server):也称堡垒机,是一类可作为跳板批量操作的远程设备的网络设备,是系统管理员和运维人员常用的操作平台之一。那么具体是做什么的呢?现在一些比较大的互联网企业,往往拥有大量的服务器,为了能够统一方便管理,运维人员通过跳板机去管理对应的服务器。我们在访问服务器的时候,先通过登陆跳板机,然后再进入相应服务器。从一定程度上提升了服务器的数据安全性,也提升了服务器的可维护性。sshtunnel 连接堡垒机跳板机的本质还是ssh连接,通过paramiko 自己造轮子的话

2021-10-24 10:40:26 1211

原创 【Python】Pandas 模拟 SQL 的一些场景

数据初始化import pandas as pdimport numpy as npdf = pd.DataFrame({ "user_id": np.arange(1001, 1006), "name": "xiaoming,xiaohong,xiaozhang,xiaowang,xiaoli".split(","), "sex": [1, 1, 0, 0, 1], "English": [98, 97, 95, 93, 96], "Maths": [99,

2021-10-17 10:06:06 147

原创 M1芯片 mac 环境配置

M1芯片转译M1芯片的mac电脑,由于是ARM架构的,很多软件存在不兼容的情况,需要进行转译 务必在最一开始就配置好(不是很复杂)链接????:在terminal开rosetta全局兼容模式直接翻译一下:如何在Apple Silicon Mac上运行x86自制和终端应用程序 以下是本机支持到达之前的解决方法:1、在Utilities文件夹中找到终端应用程序(Finder>Go menu>Utilities)2、选择Terminal.app并右键单击它,然后选择“复制” 将复制的终端

2021-08-07 10:49:41 2110

原创 Python datetime.fromtimestamp 遇到的一些坑

背景:调用腾讯某个接口返回的是时间戳的形式,本地解析的时间跟腾讯端的时间不一致,经过排查发现是本地没有转化为北京时间,而腾讯端是默认转换为北京时间的。但是却有一个疑惑????,问题一同样是时间戳的转换,不同的机器却是不一样的结果。比如我在在线编辑器上的结果是没有偏移的,而本地执行结果却是有8个小时的偏移的比较过比较多台机器,发现 fromtimestamp 该函数的转化是根据本地的时区来的。现在问题基本明朗了,我本地解析的时候一定是需要转化为北京时间的,时间戳作为一个固定的值,一定只对应一

2021-07-31 10:13:57 4070 3

原创 浅谈 Python上下文管理器

Python中有很多类只要定义某些特定的方法就能被赋予某种特性,比如基类中__init__() 和 new() 函数,又比如生成器中__next__()方法。上下文管理器中也类似,关键词 为 with … as …:需要实现 enter() 和 exit() 这两个函数,顾名思义,一个是执行之前的操作,一个是执行之后的操作。中间就是我的编写的过程。就拿最常见的 open 举例# 创建一个文件test.txt,若存在则打开,写入Hello Python# 创建/打开文件f = open('test

2021-07-20 13:30:24 89

转载 MySQL、Oracle获取表结构和字段

1、MySQL1.1 MySQL中涉及到字典表information_schema1.2 MySQL 获取字段信息SELECTTABLE_NAME AS ‘tableName’,COLUMN_NAME AS ‘columnName’,COLUMN_COMMENT AS ‘columnComment’,IS_NULLABLE AS ‘nullable’,DATA_TYPE AS ‘dataType’,CHARACTER_MAXIMUM_LENGTH AS ‘strLength’,NUM

2021-06-29 17:27:45 196

原创 【知识迁移】力扣刷题- 完全平方数(Go 实现)

快速通道279. 完全平方数279. 完全平方数给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和11 不是。来源:力扣(LeetCode)解题这一题其实还是一个背包题,计算的组合数的最小个数,同样是总数

2021-06-11 14:12:13 144 1

原创 【举一反三】力扣刷题-零钱兑换(Go 实现)

快速通道322. 零钱兑换518. 零钱兑换 II前言这个月是动态规划月呀,动态规划的题目核心就是找到状态转移方程。零钱兑换这个系列是很经典的背包题,就是总容量,然后往里边放固定大小的物品,有的是返回方案数,有的是返回最少物品的个数。一定要看一篇文章吃透背包问题!(细致引入+解题模板+例题分析+代码呈现)322. 零钱兑换给定不同面额的硬币 coins 和一个总金额amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以

2021-06-11 13:46:13 664 2

原创 Python 解析非json格式文件的方法

参考:Python JSONPython 中常见的 json 操作时将json对象转化为 python的字典形式,常见的是对文本解析,这里边转换的时候经常遇到的事格式的问题。在使用json这个模块前,首先要导入json库:import json方法描述json.dumps()将 Python 对象编码成 JSON 字符串json.loads()将已编码的 JSON 字符串解码为 Python 对象json.dump()将Python内置类型序列化为json对象后写

2021-06-09 13:53:08 858

原创 【知识迁移】力扣刷题- 删除并获得点数(Python 实现)

快速通道740. 删除并获得点数前言有些题目比较隐晦,拿到题目毫无头绪,又不像刷举一反三系列一样,由易到难,本文主要记录解题的思路。740. 删除并获得点数给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除每个等于 nums[i] - 1 或nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。来源:力扣(LeetCode)解题拿到该题,再

2021-05-05 10:18:22 226

原创 【举一反三】力扣刷题-组合总和(Python 实现)

快速通道39. 组合总和40. 组合总和 II216. 组合总和 III377. 组合总和 Ⅳ前言最近喜欢写举一反三系列,看这个也算个系列就写了。这个系列主要是回溯、枚举还有剪枝,也是非常常用的方法。39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合

2021-04-28 15:22:29 542 2

原创 【举一反三】力扣刷题-买卖股票的最佳时机(Python 实现)

快速通道121. 买卖股票的最佳时机122. 买卖股票的最佳时机 II123. 买卖股票的最佳时机 III188. 买卖股票的最佳时机 IV309. 最佳买卖股票时机含冷冻期714. 买卖股票的最佳时机含手续费前言该系列是非常经典的动态规划的题目,动态规划的核心是记录状态的改变。121. 买卖股票的最佳时机题目的大体意思就是一次的买卖机会,怎么操作才能赚到最多的钱解题这条题目一次买卖还是比较简单的,很容易想到贪心算法,维护股票最低价和卖出最高价即可class Solution:

2021-04-22 15:08:48 531 1

原创 【举一反三】力扣刷题-删除有序数组中的重复项(Python 实现)

题目快速通道删除有序数组中的重复项删除有序数组中的重复项II1、删除有序数组中的重复项题目的大体意思就是对有序数组去重,并且需要原地处理,就是返回原数组,指定结束节点即可。理解 + 解题这条题目首先给出有序数组,如果不是有序数组的话,去重则需要排序或者哈希,既然原地,基本方法就是双指针,把唯一的元素逐个往前挪即可。可以先设置两个指针 left 和 right,left维护唯一的有序数组,right作为遍历的指针。由于是去重且保留一个,那么有两种方法,一种是用right 和 left 比较,如

2021-04-18 10:26:47 427 1

原创 【举一反三】力扣刷题-打家劫舍(Python 实现)

题目快速通道打家劫舍打家劫舍II打家劫舍III1、打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/house-robber著作权归领扣网络所

2021-04-15 16:25:17 496

原创 sql模糊查询多个条件写法

单个模糊查询一般使用like,如果多个可以使用 OR 进行连接,不过写样子写法很冗余,而且如果多个条件是从表中 select出来的时候这种方法就不可行了。针对这种问题,一般都提供了正则表达式的写法,这样我上面说的那种情况只需要进行一下列转行就可以了。注意 REGEXP 后是 字符串类型MySQL-- 示例SELECT prod_name FROM products WHERE prod_name REGEXP ‘col1|col2’-- 列转行select group_concat(tes

2021-04-07 09:38:02 17088 1

原创 二分查找 插入和查找的区别

二分查找存在两个场景,第一种就是在排好序的列表中进行查询,是否存在目标数 target,返回布尔类型,第二种是插入的情况,我需要把数插入到列表中,返回idx。查询 def find(sortlist, lenn, target): left, right = 0, lenn - 1 while left <= right: mid = (right + left) // 2 midnum = so

2021-03-30 14:31:21 168

原创 Pandas 参与数据清洗常见用法

其实pandas 参与数据清洗跟数据库SQL很相似,只是pandas 在计算速度上较SQL会快很多也灵活很多。1、导入导出略2、merge ,concatmerge 相当于 joinconcat 相当于 union3、groupby分组,常跟聚合函数以及窗口函数一起使用,注意:聚合函数使用的时候,之后一般需要merge,因为聚合之后行数变少4、rank一般配合 groupby 使用,不配合 groupby也可使用(就是整个为一组)排序支持各种形式的排序,比如从小到大,比如当前行,从小到

2021-01-19 16:29:19 92

原创 Hive窗口函数常用记录

窗口函数通常是对组内数据进行处理,所以一定需要分组操作(partition by) 通常的语法是selectWINDOW(a.val)over(PARTITION by a.col1 order by a.col2 asc [rows BETWEEN xxx PRECEDING and CURRENT ROW])from a1、排序 Rank()、Dense_Rank()、Row_Number()这些计算分组排序的用的是比较多的,一般都需要在窗口函数后进行order by2、聚合函数 sum

2021-01-04 16:40:59 267

原创 hive报错return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

场景:计算一年中每一天的数据,每一天的取值是前一年或者半年的平均值,所以我有两张临时表,第一张存放主体的一年中每一天的数据,第二张存放主体近两年的每一天对应的数据,第一张表左连接第二张表,这样子进行窗口函数计算即可。select h1.*,h3.volume,h3.vwap, avg(h3.turnoverval)over(PARTITION by h1.TRADINGITEMID order by h1.natualday asc rows BETWEEN 364 PRECEDING and

2021-01-04 16:14:17 1823 1

原创 拉链表的实现过程

拉链表的优势我就不说了,具体请参考百度百科:拉链表-百度百科推荐一个比较详细的参考文章:拉链表示例主要总结一下实现过程:分析:拉链表就是用来存储变化的数据的,每一份数据都有对应的有效期,我们需要进行的操作就是将变动的数据进行新增,同时将变动对应的前一条数据的有效期进行变更。说明:一般都是今天处理昨天的数据,本文所说的当天为所处理的数据的产生的当天。在这之前需要熟悉一下需要用到的表:表1:订单表(记录原始的数据)表2:增量数据表(记录每日变更的数据)表3:历史拉链表(我们要得到的就是这张表

2020-11-19 15:20:19 9287

原创 MySQL 中STD、STDDEV、STDDEV_SAMP 标准差函数的区别

总体标准差和样本标准差的区别如果数据集中的所有值都被纳入计算,则该标准偏差称为总体标准偏差。 然而,如果将一个子集的值或一个样本作为计算,则该标准偏差称为样本标准偏差。西格玛字母(σ)表示标准偏差。以下等式说明如何计算总体标准偏差和样本标准差:总体标准偏差:样品标准偏差:总体标准差和样本标准差的计算略有不同。当计算样本标准偏差的方差时,除以N-1而不是N,其中N是数据集中的值的数量。标准差函数的举例如图,可以简单用 shuxue 这一行数据进行验证,可以简单的计算一下,所有分数与avg差

2020-11-10 15:26:13 9402

原创 MySQL根据列式数据分类

背景:由于工作内容涉及到公司机密,我就讲个大概的场景:存在一些列式数据,比如每个人都有自己爱吃的几类水果,我们对每个人的饮食习惯进行分类(不太恰当,想不到啥好的例子)香蕉拼错啦,哈哈现在我的需求是喜欢吃苹果的不喜欢吃香蕉的分在A组,喜欢吃香蕉的不喜欢吃苹果的分在B组,两个都喜欢吃的分在C组,都不喜欢吃的分在D组首先需要列转行,得到每个人喜欢吃的水果select person,group_concat(fruit) from onefruit group by person;然后我根据苹果和

2020-10-23 13:55:06 586

原创 关于MySQL TopN不能正常排序的一些测试

背景:这是在工作中遇到的问题,应该跟mysql版本有关比如我要获取每门学科的排名如图所示,我直接查询chengji 表,对每门学科进行排序,正常如图所示,我加了一张表进行,这个时候就不能先 order by了,而是先查询,再order by ,可以看到输出的排名跟想要的差的很多我们试试让这两个关联表先排序这两个都是没有问题的,解决的关键是需要让关联的表正常排序,如果不能先排序使用标记就不能得到想要的结果了但是有些复杂场景(也可能是优化器版本问题)不管怎么样他都会帮你把order by 放到

2020-10-22 11:07:45 84

原创 二叉树的一些信息获取

#include <stdio.h>#include <malloc.h> //包含动态存储分配函数malloc和free等#include <stdlib.h> //异常终止函数exit所在的库文件#define Nuvalue 0#define M 30typedef int valuetype; //假定值类型是inttypedef struct Bnode //定义二叉树结点类型Bnode { valuetyp

2020-10-19 16:54:46 170

原创 借助pandas完成对Excel数据的建表和入库

背景:对Excel进行解析和入库技术难点1:对dataframe对象设置列名百度了很多,都是答非所问,这个没有向设置索引列那么简单直接设置哪一列就行了。不过可以通过赋值给df.columns的方式,于是我只需要获取列名的那一行并转化为集合的形式就可以了。 # 指定列名datacolumns = datapd.loc[columnindex].values.tolist()datadf.columns = datacolumns 技术难点2:根据dataframe完成建表,并能够获取每个字段的

2020-09-25 16:42:47 463

大学生计算机四级数据库

全国计算机等级考试四级数据库工程师或简称计算机四级数据库工程师。四级数据库工程师是全国计算机等级考试中四级的一类。它主要考核数据库应用系统分析及规划、数据库设计及实现、数据库存储技术、并发控制技术、数据库管理与维护、数据库技术的发展和新技术。它要求四级数据库工程师合格考生应掌握数据库系统的基本理论和技术,能够使用SQL语言实现数据库的建立、维护和管理,具备利用工具软件开发基本数据库应用系统的能力,能够胜任中小型数据库的维护、管理和应用开发。

2018-12-24

空空如也

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

TA关注的人

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