自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 python中的logging模块——将日志保存到文件中

使用python中的logging模块,将日志打印到控制台或输出到文件中

2022-08-07 23:02:26 3824 4

原创 python 中的argparse模块——自定义程序参数

python 中的argparse模块创建、添加并解析参数及示例

2022-08-07 22:36:06 621

原创 python获取当前时间和前一天时间(datetime)

python time和datetime获取当前时间,datetime获取前一天时间

2022-08-05 18:23:33 12003

原创 pandas对Dataframe数据进行标准化

max_min标准化,Z-Score标准化

2022-07-03 21:27:04 12791 1

原创 Java中遍历Map的方法:entrySet(),和keySet()

entrySet()方法会返回key-value实体对的集合,此集合的类型即为Map.Entry,遍历时可以直接使用Map.Entry接口中的getKey(),getValue()方法;keySet()则返回的是key的集合,需要在使用get()方法从map中取数据。import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class MapTest {

2022-02-13 16:32:29 942

原创 Java 中的Map.Entry,以及entrySet()方法

Map是Java中的接口,Map.Entry是Map声明的一个内部接口,为Map中的key-value实体对,定义为Entry(key, values),Map的entrySet()方法会返回key-value实体对的集合,此集合的类型即为Map.Entry,在Map.Entry接口中同样有getKey(),getValue()方法。下面通过实例来理解Map.Entry:import java.util.HashMap;import java.util.Iterator;import java.uti

2022-02-11 17:42:39 1197

原创 hive中数值计算常用函数与日期函数

hive 常用的计算函数与日期函数,包括小数取整,与时间戳与日期的转换等

2021-12-25 16:34:37 1668

原创 python实现信息熵和条件熵

信息熵信息熵,可以用来衡量一个信息的复杂程度,通俗的理解就是表示了这件事的不确定性,如果其不确定性越大,则信息熵的值也就越大,反之,则越小。对于随机事件X,用pxp_{x}px​表示事件x发生的概率,则随机事件X的信息熵可以表示为:H(X)=−∑i=0npxlogpx{\Large H(X) = - \sum_{i=0}^{n}p_{x} logp_{x}}H(X)=−∑i=0n​px​logpx​用python实现信息熵:#计算信息熵,data为series对象def getEntropy(d

2021-11-27 18:31:00 3251

原创 Hive中alter table 对分区表的操作:添加列,修改列,删除历史分区

alter table 用于在已有的hive表中添加、修改删除列在分区表中添加新的一列:alter table table_name add columns(columns_name double comment '新列名') cascade;注意:cascade表示级联,如果不使用cascade,旧的分区将不会改变,只改变新的分区,且此命令在spark下跑不通。删除分区表中的分区:-- 删除20211119之前分区的数据alter table table_name drop if exist

2021-11-19 17:41:44 6153

原创 AttributeError: module ‘tensorflow.compat.v1‘ has no attribute ‘contrib‘

将之前的代码迁到新服务器后报错:“AttributeError: module ‘tensorflow.compat.v1’ has no attribute ‘contrib’”。原来的代码使用的是tf1.8,新服务器的环境是tf2.5,并且代码中调用tf1中的API,所以会报错。具体情况如下:原代码:initializer = tf.contrib.layers.xavier_initializer()报错原因是,tf2中删除了contrib这个库,因此无法使用xavier_initiali

2020-12-05 21:17:25 21168 16

原创 AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘

今天把代码放到新服务器上跑,结果报错:“AttributeError: module ‘tensorflow’ has no attribute ‘placeholder’”原因是:之前代码用tf1.8,新服务器环境是tf2.5,而且代码中调用了tf1中的API,因此会报错,解决方法:原来代码:import tensorflow as tf改过之后的代码:import tensorflow.compat.v1 as tftf.disable_v2_behavior()问题得到解决。..

2020-12-05 20:44:41 19652 8

原创 3090 cuda 11安装tensorflow-gpu2.5.0

3090目前好像只支持11.0往上的cuda版本,因此我装的tensorflow-gpu为2.5.0版本,使用阿里源下载,命令行如下:pip install tf-nightly-gpu==2.5.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com安装完成后,进入Python环境,验证是否安装成功:代码如下:import tensorflow as tfprint(tf.test.is_gpu

2020-12-05 20:13:33 9619 8

原创 python中sort的用法——对列表中的元素按关键字排序

在python中,sort是列表排序的一种方法,调用方式为list.sort(),这样会改变原来列表的值。sort(key, reverse)方法有key和reverse两种参数,其中key表示的是排序的关键字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)sort()方法默认是升序排序,即默认reverse=False。下面主要写一下如何用sort根据关键字排序:对于一个列表,其中的元素也是列表,要根据元素中的值进行排序,直接看代码:例子

2020-09-03 21:51:03 7830 1

原创 python中的collections.defaultdict()和内建字典类dict

今天在刷滑动窗口时,用到了字典这种数据结构,用dict{}和defaultdict()类型的字典时分别遇到了不同的问题,现在将两者的区别记录如下:dict{}:通过Key访问字典,当Key不存在时,会引发‘KeyError’异常,defaultdict()方法则为字典提供了一个默认值。首先初始化:from collections import defaultdictdict1 = defaultdict(int)#初始化须指定一种数据类型,当key不存在时会提供一个默认值。#int对应的是0,s

2020-08-09 16:19:54 370

原创 解决python中“TypeError ‘str‘ object does not support item assignment”问题

今天在刷题的时候,需要改变字符串中某个字符的值,想直接赋值改变,结果遇到了错误“TypeError ‘str’ object does not support item assignment”,现在记录一下错误原因和解决方法:首先看问题:l = ['.'*4 for _ in range(2)]print(l)#输出:['....', '....']print(l[0][2])#输出:.l[0][2] = 'Q'这样会报错:“TypeError ‘str’ object does not s

2020-08-07 17:00:48 69235 1

原创 python 求列表中最大/最小n个元素的索引

方法:首先利用heapq模块中的nlargest/nsmallest方法,求得列表中的前n个最大/最小元素,然后利用index()求每个元素的索引。代码如下:import heapql = [5,6,5,3,2,7,8]max_num = heapq.nlargest(4,l)max_index = []for i in max_num: max_index.append(l.index(i))print(max_index)#输出:#[6, 5, 1, 0]借助pyt

2020-08-04 12:23:01 1173

原创 python中函数的定义与调用顺序

python中定义函数时一定要先定义后操作:正常情况如下:T = int(input())def dfs(n): if n == 1: return 1 if n == 2: return 2 else: return 1+dfs(n//2)for i in range(T): n = int(input()) print(dfs(n))先调用后定义则会出错....

2020-08-02 16:14:48 434

原创 python中的堆模块(heapq)

最小堆是二叉树,其每个父节点的值都小于或等于其任何子节点,最小堆的特性是它的最小元素始终是树的根节点。由于堆的这种特性,堆一般会用在优先队列问题上。python中并没有独立的堆类型,而是通过heapq模块来实现堆的一些操作。heapd模块提供了以下几种操作:(1)heapify(x ):将列表x转换为堆,(对x进行操作,将x按最小堆的方式存储)(2)heappush(heap, item):将item压入堆中;(3)heappop(heap):弹出并从堆中返回最小的项;(4)heappu

2020-07-30 23:44:46 913

原创 回溯算法

原文链接:https://leetcode-cn.com/problems/permutations/solution/hui-su-suan-fa-xiang-jie-by-labuladong-2/回溯算法框架:解决回溯算法的关键是想清楚如下几点:1.路径,已经经过的路径2.选择列表,当前可选择的列表3.终止条件基本框架代码:result = []def dfs(路径,选择列表): if 满足终止条件: result.append(路径) for 选择 in 选择列表:

2020-06-12 19:34:26 209

原创 python 中在列表中添加一个列表

今天在刷力扣的时候,遇到了一点小问题:题目要求的返回类型为List[List[int]],在解完题后返回的结果总是[[],[],[]],经过多次调试,才发现问题所在,现将问题简单抽象化,通过例子说明要注意的问题:首先看下述代码:result = [1,2,3]result_all = []result_all.append(result)print(result_all)#结果:[[1, 2, 3]]然后再看下面这段代码:result = [1,2,3]result_all = []r

2020-06-12 17:49:40 18320 4

原创 感知机模型

《统计方法学》学习笔记感知机模型是一种线性二分类模型,输入为实例的特征向量,输出为分类的结果(1或-1)。模型定义:sign()是符号函数:损失函数:感知机学习的目标是找到一个能够将训练集正例点和负例点完全正确分开的分离超平面。损失函数很容易想到使用分错的点数,然而 这样会导致损失函数并不是参数的连续可导函数。因此感知机模型损失函数选择的是误分类点到超平面的总距离。...

2020-06-11 16:10:38 213

原创 梯度下降

梯度下降是用来求极小值的一种方法。求极小值就好比下山,如何能以最快的速度下到山底:那就是沿着下降速度最快的一个方向下山,在数学中,这个方向就是函数的导数方向。以线性回归问题的优化为例,来进一步理解梯度下降:首先看线性回归的损失函数:其中这是要优化的目标,即在众多的(x,y)上求一套参数使得J的值最小。采用梯度下降的方法,来求J的最小值:对J求偏导:则参数的更新过程如下:不断重复上述过程,直至J取得最小值。...

2020-06-11 15:35:23 143

原创 广度优先遍历(BFS)和深度优先遍历(DFS)

BFS:思想:对于图中的初始节点,先遍历初始节点的一阶邻居,当初始节点的一阶邻居都被遍历完了之后,再遍历初始节点的二阶邻居,直至所有节点都被遍历完(或找到符合条件的节点)过程:三要素:(1)先入先出的一个容器:队列;(2)图中的节点:最好写成单独的一个类表示;(3)已访问集合:避免重复访问。算法过程:(1)首先将根节点放入队列中(2)取出队列中的第一个节点进行访问,并将其所有未被访问的邻居节点添加到队列中(3)若队列为空则算法结束时间复杂度:广度优先遍历算法的时间复杂度并不确定,取决于用

2020-06-11 15:00:56 374

原创 递归和动态规划的初步理解

首先通过斐波那契数列引出两个概念斐波那契数列:已知f(0)=0, f(1)=1, f(n)= f(n-1)+ f(n+2)分别用两种不同的思想求得 f(n)。1.递归:解决递归问题,首先要明确函数定义,然后寻找递归终止条件,最后要能够准确的写出递归子式。def F(n): if n == 0: return 0 if n == 1: return 1 return F(n-1) + F(n-2)但在上述递归代码中有好多是会重复计算的,为了

2020-06-03 10:53:59 202

转载 贝叶斯公式和极大似然的讲解

https://blog.youkuaiyun.com/qq_39355550/article/details/81809467

2020-06-02 10:30:30 204

原创 学习笔记——numpy创建数组

python数据科学手册学习笔记1.python中的数据类型:与C、Java等静态语言不同的是,python是一种动态类型的语言,在C语言中每个变量的类型都被明确地声明,而在python中变量的类型是可以动态推断的,即可以将可以将任何类型的数据指定给任何变量:x = 4x = 'four'(这种写法在C语言中会报编译错误)在python中,整型并不仅仅是一个整型,而是一个指针,指向包含这个 Python 对象所有信息的某个内存位置,其中包括可以转换成整型的字节。由于python这种动态的特

2020-05-22 21:58:42 612

转载 python使用plot函数画图

本文转自:坐倚北风博客,原文链接:https://www.leanwind.com/archives/5450.html函数调用:plt.plot(*args, scalex=True, scaley=True, data=None, **kwargs)各个参数的含义为:*args - 要绘制图形的函数横、纵坐标向量;scalex、scaley - 是否要进行横纵坐标轴的缩放,默认进行缩放,如果不进行缩放则在绘制的图形中1:1显示横纵坐标轴;data - 可通过data提供绘图数据;**kwar

2020-05-21 19:25:45 9710

原创 python使用matplotlib.pyplot中的scatter画散点图

scatter函数的用法如下:其中点的形状参数marker如下:颜色参数如下:代码如下:import matplotlib.pyplot as plt import numpy as np #绘制散点图fig = plt.figure()#创建一个figure实例x = np.arange(0,3)y = x ax1 = fig.add_subplot(221)#将画布分割成2行2列的四块,选第一块ax2 = fig.add_subplot(222)ax3 = fig.a

2020-05-21 19:11:29 922

原创 python从控制台输入多行数据

(1) sys.stdinpython 中sys.stdin可以实现标准输入,输入默认为字符串格式,可以通过int(),float()进行强制转换。在输入一行数据时,会将数据末尾的“\n”获取到,因此在处理sys.stdin输入的数据时,应该首先用strip()处理掉数据末尾的换行符。sys.stdin.readline()表示输入一行数据。用sys.stdin输入多行数据代码如下:imp...

2020-04-27 10:08:20 4734

原创 python下的二维数组

定义数组一:x1 = [[0]*3]*5print(x1)x2 = [[0,0,0]]*5print(x2)#此时x1和x2是一样的,输出如下:[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]然后对x1或x2进行数组操作:#赋值x1[0][1] = 1print(x1)#输出结果[[0, 1, 0], [0...

2020-04-15 21:28:10 847

原创 力扣刷题215.数组中的第K个最大元素(python)

215.数组中的第K个最大元素题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-...

2020-04-10 10:44:26 896

原创 python实现堆排序

堆排序概念:二叉堆,二叉堆本质上是一种完全二叉树,可以分为最大堆和最小堆两种。最大堆:任何一个父节点的值都大于等于其子节点的值;最小堆:任何一个父节点的值都小于等于其子节点的值。二叉堆的根节点叫堆顶,二叉堆的特点决定了最大堆的堆顶是整个堆数据中的最大值,最小堆的堆顶是整个堆数据中的最小值。堆的自我调整:插入节点:首先将节点插入到堆尾,然后判断新插入的节点与其父节点是否满足最大/小堆的概念...

2020-04-09 22:19:25 950

原创 python实现快速排序

Quick_Sort简介:快速排序是冒泡排序的一种改进,通过一趟排序将数据分割成独立的两部分,其中一部分的所有数据比另一部分都要小,然后按此方法对两部分进行快速排序。整个排序过程可以递归进行,直至最终序列为有序序列。特点:每一趟排序可以确定一个数字的最终位置。原理:(1)从数据中选取基准(2)分区,小于基准的数据移到左边,大于基准的数据移到右边(3)对基准左右两个子集,重复步骤一、二实...

2020-04-07 13:45:49 252

原创 python从csv文件中读写数据

#按列将数据写进csv文件import pandas as pd path1 = 'eg.csv'data1 = [1,2,3]data2 = [4,5,6]df = pd.DataFrame({"id1":data1, "id2":data2 })#按列写,每个id1对应的data应为一个列表df.to_c...

2019-11-18 22:25:16 1060

原创 获得Bert预训练好的中文词向量

安装肖涵博士的bert-as-service:pip install bert-serving-serverpip install bert-serving-client下载训练好的Bert中文词向量:https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip启动bert-as-s...

2019-05-30 19:54:13 10594 20

原创 Windows下从MySQL数据库下导出.sql文件

Windows下从MySQL数据库下导出.sql文件(1)通过win+R输入cmd进入dos界面。(2)输入cd C:\Program Files\MySQL\MySQL Server 8.0\bin进入MySQL安装路径下的bin文件中。(3)输入mysqldump -u root(用户名) -p data(数据库名) > data.sql然后data.sql文件就会被导出到bi...

2018-12-21 11:01:30 1399

空空如也

空空如也

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

TA关注的人

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