自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 教女朋友学python系列(1) pandas isnull的运用

最近女朋友在学python,所以就开始整理一下她在学习的过程中碰到的小问题在pandas的DataFrame中有info() 这个属性info可以告诉你DataFrame中的缺失统计PS:虽然我是用describe(),因为describe()里面也有count这个非空的计数,还可以指定percentiles 去看不同的分位数,但是看列的字段属性(字符型,浮点型)用info()确实方便点问题来了,小猪:我现在知道了每个字段非缺失的计数了,想看df中的字段缺失的具体情况怎么办?d

2021-09-25 15:43:46 882 1

原创 Sanic部署(2)关于配置

"""任何程序都需要加载配置不同的环境加载的配置不同"""from sanic import Sanicapp = Sanic('myapp')# config只是一个对象属性,可以用点或者字典的形式修改app.config.DB_NAME = 'appdb'app.config['DB_USER'] = 'appuser'print(app.config)'''>>> app.config{'REQUEST_MAX_SIZE': 100000000, 'REQ.

2021-07-14 18:50:36 380

原创 Sanic部署(1)

最近不知道为什么开始搞模型工程化了以前都是用Flask写的非常糙最近公司用Sanic部署,所以研究了一下首先是主函数 main.pyfrom sanic import Sanicfrom sanic.response import jsonapp = Sanic('App Name')@app.route("/")async def test(request): return json({"hello": "world"})if __name__ == "__main

2021-07-14 17:56:27 513

原创 3.1 tensorflow 循环神经网络初探

循环神经网络是有一个状态和输入序列结合拟合出结果,然后状态会继续带入下一个序列import numpy as npX = [1,2] # 输入序列state = [0.0,0.0] # 状态向量# 分开定义不同输入部分的权重w_cell_state = np.asarray([[0.1,0.2],[0.3,0.4]])w_cell_input = np.asarray([0.5,0.6])b_cell = np.asarray([0.1,-0.1])#定义用于输出的全连接层参数w_o

2021-07-06 23:02:37 199 2

原创 2.4 tensorflow学习率优化和正则化

import tensorflow as tffrom tensorflow.python.ops.math_ops import reduce_mean# 学习率优化方法 每过一定的步长对学习率进行衰减global_step = tf.Variable(0)# 每过100轮训练,学习率乘以0.96learning_rate = tf.train.exponential_decay(0.1,global_step,100,0.96,staircase=True)# 使用指数衰减学习率,在mi.

2021-06-21 23:32:13 185

原创 2.3 tensorflow简单自定义损失函数

import tensorflow as tf# 利用numpy生成数据集from numpy.random import RandomState# 定义训练集的barch大小batch_size = 8# 定义神经网络的参数w1 = tf.Variable(tf.random_normal([2,3],stddev = 1,seed=1))# 在shape的一个维度上使用None可以方便使用不同规模大小的batchx = tf.placeholder(tf.float32,shap.

2021-06-20 20:53:25 293

原创 2.2 tensorflow实现神经网络(反向传播算法)

import tensorflow as tfw1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))w2 = tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))# 定义placeholder作为存放输入数据的地方,这里的维度也不一定要定义# 但是如果维度是确定,那么给出维度可以降低出错的概率x = tf.placeholder(tf.float32,shape=(1,2),nam.

2021-06-19 21:36:12 212

原创 2.1 TensorFlow实现神经网络(前向传播过程)

在看本博文的之前请自行搜索神经网络的前向传播过程先及介绍下TensorFlow如何生成随机数# 生成了一个2*3的矩阵,均值为0,标准差为2的正态分布随机数weights = tf.Variable(tf.random_normal([2,3],stddev=2,mean=0)) 函数名称 随机数分布 主要参数 tf.random_normal 正态分布 平均值,标准差,取值类型 tf.truncated_normal 正态分布,如果随机值

2021-06-15 22:17:19 246 1

原创 1.3 TensorFlow 会话

session是执行定义好的运算计算完成之后要关闭会话来帮助系统回收资源一般会用两种方式来调用会话模式1. 用sess.close() 控制import tensorflow as tf# 创建会话sess = tf.Session()# 执行会话 这里是伪代码,不要直接跑sess.run()# 关闭会话释放资源sess.close()2. 用with 控制# 创建一个会话并用上下文管理with tf.Session() as sess: sess.run(

2021-04-27 14:46:13 134

原创 1.2 TensorFlow 张量

在tensorflow中所有的数据都通过张量的形式表现可以简单理解为张量就是多维数组张量不保存数值只是保存这个数字的计算结果# tf.constant是计算常数的方法,计算结果是一个张量,保存在变量之中a = tf.constant([1.0,2.0],name='a')b = tf.constant([2.0,3.0],name='b')# tf.add是计算加和的方法result = tf.add(a,b,name='add')print(result)'''输出:Ten

2021-04-27 11:55:38 107

原创 1.1 TensorFlow 计算图的使用

TensorFlow的使用一般分为两个阶段1. 定义计算图中的所有计算2. 执行计算import tensorflow as tfa = tf.constant([1.0,2.0],name='a')b = tf.constant([2.0,3.0],name='b')result = a + b如果说我们没有指定计算图的话张量就会存储到默认图中print(a.graph is tf.get_default_graph())可以用以上方法查询张量所属的图T.

2021-04-27 11:38:23 152

原创 样本不平衡的处理方法

样本不平衡其实的主要思想就是过采样和欠采样,但是由于在复制少量标签的样本或者筛选大量标签的样本方法不同衍生出了不同的处理手段1.随机过采样:复制标签少的样本使得好坏比满足建模需要2.随机欠采样:抽取标签多的样本使得好坏比满足建模需要 (会丢失样本信息)3.EasyEnsemble:标签多的样本进行n份,每份都和标签少的全部样本组合成n份训练样本,利用集成学习训练n个弱分类器(原论文是用adaboost框架,当然用其他框架也是可以的)4.BalanceCascade:对标签多的样本进行欠.

2021-02-23 17:52:14 1962

原创 逻辑回归梳理

什么是逻辑回归,这里引用我觉得在知乎某大佬说的一句很精辟的话https://zhuanlan.zhihu.com/p/103459570逻辑回归假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。...

2021-02-18 10:39:40 286

原创 pivot_table 源码解析

所以为什么pivot_table会快呢?首先concat在不断拼接的过程耗时确实是越来越长的,这个底层暂时没有了解但是pivot_table是怎么做长表宽表的转换呢?其实pivot_table是一个透视表,他之所有能做长宽表的数据转换还是有一定局限性的源码:https://github.com/pandas-dev/pandas/blob/v1.0.4/pandas/core/reshape/pivot.py#L25-L186from typing import TYPE_CHECKI

2020-06-11 11:45:58 543

原创 长表宽表的转换

原文传送门:https://www.cnblogs.com/zlslch/p/8644585.html处理长表和宽表类的转换的时候之前总是自己写底层但是底层写得太烂了,转换的速度总是不满意,pandas 的不断concat过程耗费的时间太久然后就灵机一动作为最热门的语言,python会不会有这种长表宽表的转换呢?结果有的。。。。import pandas as pdimport numpy as npmydata=pd.DataFrame({"Name":["苹果".

2020-06-11 10:26:42 1657

原创 1. NLP基础 规则切词--正向,反向,双向最大匹配法

1、正向最大匹配正向最大匹配首先你要有一个匹配词库,你知道你匹配词库中长度最长的词的长度,假设是3你取出头3个字去匹配词库,如果匹配不上就取头2个字,直到你能匹配上,你的起始指针就向后移动。class MM(): def __init__(self): self.window_size = 0 self.dic = ['研究', '研究生', '生命', '命', '的', '起源'] def get_window_size(s

2020-05-13 17:27:30 934

原创 0.NLP基础之正则表达式

正则表达式在NLP中有广泛的运用,一般用在文本清洗和过滤中,可以把我们的关注的文本内容选取出来再利用机器学习的技术。否则我们一股脑未经筛选,将所有的文本丢到模型中,模型会被大量的噪声干扰。示例:import retext_string = "文本最重要的来源无疑是网络。我们要把网络中的文本获取形成一个文本数据库。利用一个爬虫抓取到网络中的信息。爬取的策略有广度爬取和深度爬取。根据用...

2020-05-11 11:45:32 570

原创 sublime的正则表达式分组

正则表达式其实都一样,不同语言不同工具取分组的手段不同。sumlime取分组是用\1 类似python的group(1)如 abc可以用 a(.*) 来匹配a\1c来表示在括号内的分组保留下来并在后面加上c结果 abcc\2就是第2个分组,依次类推。...

2020-05-09 14:14:36 1093

原创 pandas 字符串包含判断

今天同事问我如果我要判断pandas中某列中的值是否包含某个特定字符串该如何做。我以前写过但是楞了一下,因此好好记录下来df["columns_1"] = df["columns"].apply(lambda x: x.upper()) #由于同事这个不区分大小写,所以全部转成大写来匹配df[df["columns_1"].str.contains("a")]#这样只要...

2020-03-09 16:35:57 23537

原创 pandas, datetime 格式化输出日期

raw_data["TradeDate"].head()0 2020-02-22 14:01:23.4510001 2020-02-20 16:40:56.1900002 2020-02-20 16:11:16.4200003 2020-02-22 00:30:43.4510004 2020-02-24 05:35:09.783000Name: Tra...

2020-03-06 16:51:48 5112

原创 np.timedelata64计算时间差

由于这个用法老是忘记我就还是写下来记录一下。在python生成时间差这个值的时候,用pd.to_datetime相减有的时候后面会带一个单位,有的是days,有的是时分秒。再用字符串处理也是可以的,但是np.timedelta64可以很方便的解决这个问题。df["TradeTimeDif"] = (pd.to_datetime(df["Standard_Time"]) - pd.to...

2020-03-04 10:27:07 4073

原创 pandas生成连续日期

因为量化模型有的时间没有发生交易,在订单系统中时间有时候会有断点。需要生成连续的时间序列。>>> pd.date_range(start='2020-02-20 12:24:44', end='2020-02-20 12:25:10',freq='S')DatetimeIndex(['2020-02-20 12:24:44', '2020-02-20 12:24:45'...

2020-02-28 17:05:41 1023

原创 Pandas移动平均类指数加工

temp = pd.DataFrame([1,2,3,4,5],columns=["test"])建立一个测试数据>>> temp test0 11 22 33 44 5pandas计算移动指数挺方便的,用rolling属性就可以。>>> temp["test"].rolling(2,...

2020-02-28 14:17:09 487

原创 数字字符串补0方法

有的时候想生成连续的数字字符串,但是生成数字的时候前面没有补上0用下面这个方法就可以补0了i = str(i)i = i.zfill(4)for i in range(10): print(str(i).zfill(4))0000000100020003000400050006000700080009...

2020-02-28 14:04:28 2591

原创 mysql 分组字符串拼接——group_concat

对分组的user_id 进行dtype的拼接

2020-01-08 10:48:29 364

原创 os库的小运用

os.getcwd() 可以获取当前代码的存放路劲不太习惯用mac。。。os.listdir(path) 可以查看path下面的所有文件名

2020-01-08 09:45:25 95

原创 presto 中格式转换的用法

cast(目标字段 as 目标格式)

2020-01-07 11:50:02 3973

翻译 排序——插入排序

类似选择排序,插入排序是从第一个项目开始取,丢进一个子序列。然后每次插入下一个值,将其插入到子序列的正确位置。def insertSort(alist): for i in range(1,len(alist)): currentValue = alist[i] position = i while position ...

2019-07-11 20:19:13 100

原创 排序——选择排序

选择排序是遍历整个表,然后做一次交换,每次遍历找到最大值,将其放到正确的位置。类似以下的过程def selectSort(alist): for i in range(len(alist)-1,0,-1): #因为每次遍历一次列表之后,最后一项无许再去作比较。而每次遍历也只需要比较n-1次 maxValuePosition = 0 fo...

2019-07-11 19:58:16 172

原创 排序算法——冒泡排序

冒泡排序其实就是多次遍历列表,比较相邻的两项交换那些无序的项目。放上图会更好理解吧第一次遍历结束之后可以看到93这个最大值就放在了最末尾的位置,那么93固定下来了,就开始对93之外的序列做遍历。第二大的值便会固定在导数第二的位置。依次类推完成排序。def bubbleSort(alist): for i in range(len(alist)-1,0,...

2019-07-10 00:27:09 172

原创 Hash查找

Hash表,哈希表是一种容易查找到数据存储项的集合。哈希表的每个位置通常称为1个槽,可以容纳1个项。例如我们有一个为0的槽,1的槽,2的槽。。。每个槽初始化为容纳为None项和槽之间的映射方法称为hash函数,可以理解为数据和索引之间有一个映射关系。假设使用余数法,数据的余数作为项的索引。54 % 11 = 10其中54位数据,10为哈希值,也就是索引对于数据预处理...

2019-07-09 20:56:24 916

原创 spark DataFrame和pandas DataFrame互相转换

values = pandas_df.values.tolist()columns = pandas_df.columns.tolist()spark_df = spark.createDataFrame(values, columns)pandas_df = spark_df.toPandas()

2019-04-09 13:25:56 2698

原创 Pandas按行列求和

#按行求和df['row_sum'] = df.apply(lambda x: x.sum(), axis=1)#按列求和df.loc['col_sum'] = df.apply(lambda x: x.sum())

2019-03-06 15:16:01 22610 3

原创 读取目录下的所有文件

import osroot_dir = r"......"file_list = os.listdir(root_dir)#已经读取了文件列表了for file in file_list: file_dir = os.path.join(root_dir,file) #已经捕获了单个文件了,需要如何操作就随意了 #主要运用于批量将一个文件夹的数据进行相似的操作...

2019-03-05 11:39:31 805

原创 pandas几个有用的操作

a是一个DataFrame结构a[a["col_name"].isin(select_list)]如果a的col_name列中存在于select_list中的数据都会被抓出来a[a["col_name"].isnull()]a[a["col_name"].notnull()]选取空值和非空值的数据dummy_table = pd.get_dummies(a["col_n...

2019-03-05 11:36:10 249

原创 LINUX系统创建用户的问题

当我直接创建用户完了之后发现命令行有点诡异。是不是长得不一样?tab键什么的都用不了。萌新在探索LINUX的道路上吃了很多亏。只要在后面加上 usermod -s /bin/bash test就可以了 ...

2018-11-07 15:11:19 338

原创 python 字符串转变量

#假设我们有一个变量名为testthe_string = "test"the_var = locals()[the_string]#这个时候test的值就赋给了the_var 

2018-10-08 11:00:19 3533

原创 SAS画频数统计图

proc sgplot data=lib;histogram col/scale=count;yaxis label="数量";title "取标题";run;

2018-07-10 14:51:16 7988

原创 SAS 删除重复值观测

data test;input a b c;datalines;1 1 31 2 31 1 41 3 41 1 5;run;proc sort data = test nodupkey;by a b;run;选取a,b完全一致的观测删除。_all_可以删除两个所有变量完全一致的观测。...

2018-07-05 11:20:31 7719

原创 SAS统计一个表中的变量缺失值

proc format;value $missfmt ' '='Missing' other='Not Missing'; /*一定要用空格*/value missfmt . ='Missing' other='Not Missing'; run; proc freq data=yourdata; format _CHAR_ $missfmt.; tables _C...

2018-07-05 09:53:13 7761 1

空空如也

空空如也

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

TA关注的人

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