自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pyspark入门学习:创建DataFrame、增、删、改等

pyspark入门学习demopyspark创建Dataframe增、删、改等相关语法最近数据机太大,用pandas处理耗时太久,于是用学习pyspark处理数据。pyspark创建Dataframefrom pyspark import SparkConffrom pyspark.sql import SparkSessionfrom pyspark.sql import functions as fnfrom pyspark.sql import Windowfrom pyspark.sq

2020-12-31 16:14:57 561

原创 贝叶斯平均:排序算法之二

贝叶斯平均贝叶斯平均思想和公式贝叶斯平均计算实例贝叶斯平均思想和公式前期讲过Wilson得分进行排序,解决了观看量很少,导致结果不可信的问题。Wilson评分虽然保证了排名的可靠性,但该排序方法也会大大削弱那种观看量少(小众的)的视频的得分,忽略了冷门视频和新事物的产生,这样排名榜上始终会是那些观看量高的视频,新视频和冷门的视频很难出来,长期靠后。这里就有一个问题:热门视频与冷门视频的平均得分,是否真的具有可比性?举个例子来说,一个热门视频每天2000次曝光,另外一个冷门视频只有50次曝光。很明显,使

2020-09-07 17:54:46 3441

原创 sql(presto语句):一行转多行和多行转一行

Presto_sql:一行转多行和多行转一行一行转多行多行转一行一行转多行table1:namecatMarya,bCindya,fZaryc,gselect name,split_catFROM table1CROSS JOIN UNNEST(SPLIT(cat,',')) AS t (split_cat)结果如下:table2:namesplit_catMaryaMarybCindyaCindyf

2020-08-26 20:02:10 5786 1

原创 Linux 安装spark教程

Linux Spark的安装教程安装JDK安装Scala安装Spark安装JDK下载JDK: jdk-8u152-linux-x64.tar.gz链接: https://pan.baidu.com/s/1d1lEELsUrXAQ–sf_PDBtg提取码: ib5x解压 : jdk-8u152-linux-x64.tar.gz可以新建一个文件夹,命名为 java,然后将安装包放在这个新建的文件夹中,有助于文件管理。命令中输入:tar zxvf jdk-8u152-linux-x64.tar

2020-08-11 20:09:27 5732 2

原创 pandas两列转换成字典的健和值

文章目录两列转换成字典的key和value列名变成字典的key两列转换成字典的key和valuedf:nameageMary26Sellina28Zaca27想将name这列变成字典的健,年龄对应成字典的值,健值对应如下:{‘Mary’:26,‘Sellina’:28,‘Zaca’:27}import pandas as pdimport pandas as pda = ['Mary','Sellina','Zaca']b = [26,28,27]

2020-08-06 16:39:33 12502 2

原创 类别不平衡:python代码实现上采样、下采样以及上采样结合

分类问题中,经常会碰到类别极度不平衡的情况,这个时候可对样本进行上下采样,让训练数据集的类别接近平衡即可。数据格式是一个dataframe,数据分为两类:多数类别和少数类别,数据量相差大。一般而言一个数据集中负样本数量远远大于正样本,故数据预处理已将多数类别的Label标记为0,少数类别的Label标记为1。以下分别是python实现采样代码:一.下采样下采样则是从多数量的类别中随机抽取样本(抽取的样本数量与少数类别样本量一致)从而减少多数量的类别样本数据,使数据达到平衡的方式。impor

2020-07-13 15:12:10 9878 2

原创 pandas datetime 和 timedelta的处理

from datetime import datetime, timedeltaimport pandas as pddata gaid client_time max_time diff0 b 2020-05-20 19:54:32 2020-05-20 19:54:32 00:00:001 b 2020-05-20 19:54:32 2020-05-20 19:54:32 00:00:002 b 2020-.

2020-06-09 19:31:08 1133

原创 python 字典映射

d#将gaid列映射成其他字符串user_dict = {'bf40b62d-2fc2-4f18-b11d-564731a2f0e9':'a', '257d0b02-3463-4ba9-bf8e-9a62e31badee':'b', 'e6876b4a-a575-4661-bb3f-ce4a53f49306':'c'}data['gaid'] = data['gaid'].map(user_dict)...

2020-06-09 18:56:46 581

原创 python 字典和dataframe之间的转换

1.将字典格式转化成dataframe:temp = {'user_id':['a','b','c','d'], 'age':[23,34,18,20], 'sex':['f','m','m','f'], 'click':[1,0,0,1]}df = pd.DataFrame.from_dict(temp)#此处默认orient=columns,将字典的key转换成dataframe的列名print(df) user_id age sex...

2020-06-09 11:44:04 12553 1

原创 pandas:数据类型的转换方法

最近在做数据预处理的时候,发现有些细微地方需要注意,当某列数据为object类型时,不能通过字符类型和整数类型的过滤方法,可以先转换一下数据类型。首先,先看数据字段的类型用test.info()再看看数据前5行接下来我想对列hh拆分成具体的小时、分钟、秒(三列),代码编写如下:test['hh'].str.split(':',expand=True)将这拆分的三列...

2020-03-10 16:18:59 1288

原创 pandas:将多个dataframe 写入一个表格的多个sheet里

最近有个dataframe数据太大不能保存在一个excel里,于是想办法将dataframe切片放入一个excel中的多个sheet中data.shape#(5588754,10) data.to_excel(path) 报错说最大的行没有这样大,于是想法把data切片保存#将data切片6部分df = []for i in range(6): df.append(dat...

2020-03-10 11:50:48 4985

原创 威尔逊得分:排序算法之一

最近在研究用户对不同类型的视频喜好的排序,故用到了威尔逊得分进行排序,对这个方法做个笔记,加深印象和理解。威尔逊得分方法主要综合考虑总数量和喜欢类型的比例p,而不是单独情况考虑(如下): 示例:喜剧视频在10次观看中,6次被喜欢,4次不被喜欢;运动类视频在1000次观看中,550次被喜欢,450次不被喜欢 问题:喜剧类视频和运动类视频哪个更受欢迎?第一种得分方法:得...

2020-03-07 17:41:53 5659

原创 pandas:数据清洗之数据预处理(学习笔记)

数据清洗一般有以下四个部分:1.重复值处理;2.缺失值处理;3.异常值处理;4.数据离散化处理一.重复值处理:一般重复值采取删除,特殊情况例外,具体根据业务数据决定1 df[df.duplicated()]#整个数据集中完全重复的2 df[df.duplicate()==False]#除去完全重复的3 np.sum(df.duplicated()) #统计重复的数量4 df.dro...

2020-02-12 21:08:10 773

原创 sql 多表之间的关联问题

一.三个表横着连接,且共同字段(id)取并集test_1 id math 01 95 03 98 test_2 id english 01 88 02 85 test_3 id science 01 90 05 89 06 90 想将三个表外连接在一个表中,将每个科目作为一个特征id的特...

2020-02-10 19:44:50 752

原创 python pandas遍历每行并累加进行条件过滤

本次记录主要实现对每行进行排序,并保留前80%以前的偏好。思路:将每行的概率进行排序,然后累加,累加值小于等于0.8的偏好保留,获得一个累加过滤的dataframe,然后映射回原始数据中,保留每行的偏好。接下来是代码的实现a = [[0.2, 0.35, 0.45], [0.1,0.2, 0.7], [0.3, 0.5, 0.2]]data = pd.DataFrame(a, ind...

2020-01-20 18:32:21 7144

原创 python pandas将某列的多字段的一行转换成多行

python 代码实现如下import pandas as pda = [['01', 'a,b,c', 5], ['02','a,b', 10], ['03', 'b,c', 20]]data = pd.DataFrame(a, index=['user1','user2','user3'], columns=["id", "type", "num"])print(data)...

2020-01-20 12:02:16 4117

原创 pandas DataFrame 转置、频数转概率归一化、删除某列(行)或某几列(行)

1.pandas 如何实现转置import pandas as pdx = [[1,2,3],[4,5,6],[7,8,9]]data = pd.DataFrame(x,index=['user1','user2','user3'],columns=['a','b','c'])将data进行转置data.T等价于data.unstack(0).unsatc...

2020-01-10 16:45:23 1264

原创 Python绘图和可视化:Matplotlib

最近在用python进行数据处理相关工作,这块主要分享一点绘图和可视化的简单东西,也是做个小笔记让自己更熟悉地运用python。1.折线图import pandas as pd import matplotlib.pyplot as pltpath = "E:\\dataset.xlsx"data = pd.read_excel(path,sheet_name="up20", en...

2019-12-30 17:50:48 414

原创 Sql(presto语法) 实现行转列和列转行

这里的行列转换都是在presto语法下可编译实现(hive、sql会有一些差别)Sql语句:数据行转列(表a-to-表b)和 列转行(表b-to-表a)1.行转列(sql语句)selectcountry,SUM(CASEWHENcnt_cut= ‘(0,20]‘THENcntELSE0END)ASone,SUM(CASEWHENcnt_cut=...

2019-12-19 10:56:31 5857

原创 sql(presto语法)--- 时间格式的处理

注意:这些语法都是presto语法(和hive、sql存在小偏差)A.sql处理各种时间格式转换的问题:1.将timestamp时间格式 转换成字符串的'yyyyMMdd'格式 created_time 类型是timestamp,格式是:‘2019-01-22 10:36:07.161’ dt 类型是字符串(string),格式是:‘20190122’select for...

2019-12-18 17:05:31 27379

原创 协同过滤算法原理

本文主要讲解基于用户(User-CF)和基于物品(Item-CF)的协同过滤推荐算法的原理推荐算法主要基于用户历史行为信息获取数据,找到相似的用户和商品,并对用户进行推荐可能感兴趣的商品。对用户进行推荐主要有两类:1.基于用户的协同过滤(User-CF) 用户A对商品y的喜好 = 用户B对商品y的喜好程度 * 用户A和B的相似度2.基于商品的协同过滤(Item...

2019-10-31 13:11:52 1426 1

空空如也

空空如也

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

TA关注的人

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