自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python数据分析-Mysql中NULL和‘ ‘怎么处理(不使用update)

(2)空字符的统计,空字符是可以被COUNT函数统计的。所以在使用count函数的时候要注意数据中空字符的个数!(1)先看下原始数据,age列是有三种数据类型,NULL和空字符和数值,共15行(记录)。(2)查询NULL要搭配使用IS NULL或者IS NOT NULL。(1)NULL,COUNT函数是不统计NULL的个数的。展示代码使用的版本是:8.0.28。(3)查询空字符可直接使用=查询。

2023-06-19 17:32:36 884

原创 python数据分析-Mysql中and和or的关系

即:优先执行AND语句,再执行OR语句。select * from 表名 where (条件1 AND 条件2) OR (条件3 AND 条件4);select * from 表名 where 条件1 AND 条件2 OR 条件3 AND 条件4;select * from 表名 where ( 条件1 AND 条件2 ) OR 条件3;select * from 表名 where 条件1 AND 条件2 OR 条件3;2、作用上有差异,and是必须满足所有条件,而or是满足一个条件即可。

2023-06-17 17:20:56 710

原创 python数据分析-把.py文件转成exe可执行文件相关

.py转exe

2022-11-02 17:35:29 628 1

原创 python数据分析-pip更新遇到问题及解决

更新pip

2022-06-26 14:49:08 362

原创 python数据分析-互联网业务数据分析流程及指标体系的搭建

一、 数据分析流程1、明确需求2、确定思路3、处理数据4、分析数据5、展示数据,撰写报告6、效果反馈二、数据清洗1、选择子集2、列名重命名3、删除重复值4、缺失值处理5、一致化处理(比如:统一单位等)缺失值的处理方案1、如果数量比较少比较少,直接删除2、如果是文本型,我们单独人为判断填写3、填充缺失值,对于数值型,均值或者中位数...

2022-05-10 23:34:36 1905

原创 python数据分析-互联网常见9种数据分析方法

一、对比分析问题一:比什么?(1)绝对值:本身具备「价值」的数字销售金额阅读数不易得知问题的严重程度(2)比例值:在具体环境中看比例才具备对比价值活跃占比注册转化率易受到极端值影响问题二:怎么比?环比:与当前时间范围相邻的上一个时间范围对比对短期内具备连续性的数据进行分析需要根据相邻时间范围的数字对当前时间范围的指标进行设定同比:与当前时间范围上层时间范围的前一范围中同样位置数据对比观察更为长期的数据集观察的时间周期里有较多干扰,希望某种程度上消除这些干扰问题三:和谁比?.

2022-05-01 16:20:31 2694

原创 python数据分析-MYSQL8.0版本以.zip结尾的安装教程

官方下载链接:https://dev.mysql.com/downloads/mysql/

2022-04-09 00:02:36 268

原创 python数据分析-MYSQL变量的使用

2022-03-31 23:48:46 2410

原创 python数据分析-MYSQL中NULL和空字符及数值计算

一、MYSQL中的“空”先创建一张表用于演示:CREATE TABLE `test1` ( `id` INT ( 11 ) NOT NULL, `name` VARCHAR(255) not null, `age` VARCHAR(255),PRIMARY KEY ( `id` )) ENGINE = INNODB DEFAULT CHARSET utf8;INSERT INTO test1 VALUES(1,'james',12);INSERT INTO test1 VALUES(2,

2022-03-31 00:24:30 3233

原创 大数据-Linux下hadoop集群的配置及搭建

说明:本篇文章只会介绍搭建hadoop集群比较核心的部分,hdfs、yarn和mapreduce部分。介绍:(1)版本是hadoop3.X版本。(2)JDK选择的是jdk1.8版本。(3)由于是用于学习的,所以搭建的是最小的集群(3台机器)。(4)步骤基本是固定的,特别的某些步骤可能会因为版本的区别有变化,请对应实际修改。步骤:(1)搭建虚拟机(另外文章有介绍)(2)确定hostname(我的node01是作为“主节点”,还有两个“从节点”分别是node02和node03),这里看到我已经是

2022-03-19 23:16:28 2607

原创 python数据分析-正则表达式讲解及函数

一、基础知识字符匹配.匹配任意字符(除了\n)[…]匹配字符集\d/\D匹配数字或非数字\s/\S匹配空白或非空白字符\w/\W匹配单词字符[a-aA-Z0-9]/非单词字符*匹配前一个字符0次或者无数次+匹配前一个字符1次或者无数次?匹配前一个字符0次或者1次{m}/{m,n}匹配前一个字符m次或者n次*?/+?/??匹配模式变为非贪婪(尽可能少匹配字符)...

2022-02-14 17:17:44 920 1

原创 python数据分析-分组把DataFrame列转行

问题:遇到了一个问题是需要根据DataFrame中的某一列把对应另一列的数据由列转为行。一、数据展示a = pd.DataFrame({'name1':['a','a','b','c','b','a','b','a','c','c'], 'name2':['张三','张三','张三','李四','李四','李四','王五','王五','王五','王五']})display(a)二、数据展示...

2022-01-06 14:55:44 3328

原创 大数据-hadoop、hdfs、yarn等环境、权限配置

一、环境准备接博客的另外两篇文章,虚拟机和mobaxterm已经安装好了。接下来就是配其他的环境了。(1)打开mobaxterm并连接上虚拟机。(2)先在根目录下安装一个软件。(3)根据官方文档来说,先要安装的是java环境。(4)所以我先创建了一个文件夹(mkdir soft)用来放两个需要的软件。(5)选择rpm包是因为基本现在已经规范化了,rpm包安装后是直接可以查到官方文档中它建议的这个路径的,tar包比较麻烦。官方文档:官方文档链接(6)直接在soft文件夹安装rpm,安装

2021-11-22 11:12:02 608

原创 大数据-Linux的常用命令

一、Linux的目录结构(1)标黄的是我们一般常用的,其他的作为了解就好。(2)Linux的命令有很多,我只挑了一些和大数据相关的写一下。命令格式:command + [-options] + parameter说明:command :命令名,相应功能的英文单词或单词的缩写。[-options]:选项,可用来对命令进行控制,也可以省略。parameter:传给命令的参数,可以没有,一个或多个。即:命令名字 + 选项 + 参数二、Linux的常用命令(1)显示文件列表命令:命令:ls.

2021-11-17 10:51:16 715

原创 大数据-Linux系统的网络设置

一般分为两部分,第一部分是对VMware的网络进行设置,第二部分是对Windows的网络进行设置。一、VMware网络设置(1)在VMware工具栏中点击“编辑”。(2)点击“虚拟网络编辑器”。(3)选择NAT模式,然后点击右下角“更改设置”。(4)还是选择NAT模式,然后修改IP地址,然后点击DHCP设置。(5)设置一下IP区间,然后确定,一般假如前面IP设置的是192.168.40.1,我会把这段设置成192.168.40.1~192.168.40.254.(6)DHCP设置之后在设

2021-11-15 20:58:00 1430

原创 大数据-MobaXterm(终端工具)下载安装

一、下载介绍:MobaXterm是我在学习的时候看到用的软件,它是一款全功能的终端软件,支持SSH连接,支持FTP、串口等协议,非常方便。下面我就介绍一下它的安装下载。官网:https://mobaxterm.mobatek.net/(1)点进去之后就看到了下面的这个界面,点击GET MOBAXTERM NOW。(2)然后我是点击的左面这个Free的Download now,有钱的可以选择右边的。(3)然后我们直接选择安装版。(4)然后就开始下载了,下载完在windows上是一个.zip文

2021-11-14 14:18:39 1986

原创 大数据-虚拟机(VMware)的安装及配置

一、基础介绍介绍:(1)Linux操作系统本身是一个整体,包括Linux内核、系统库和应用程序,Linux内核是其最基础的东西。(2)自发布Linux内核以来,很多公司加入其中,在内核的基础上构建了自己的操作系统版本,被称为Linux的发行版。比如下图的公司:(3)虚拟机:(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。(4)VMware官网(这里要先注册自己的账号):注册:https://my.vmware.com/cn/

2021-11-13 19:05:32 4502

原创 python数据分析-concat合并表,报错InvalidIndexError: Reindexing only valid with uniquely valued Index objects

python数据分析-merge函数详解在工作中合并表用的比较多,但是merge一直搞不特别清,找了时间仔细的试了试各种情况,在这里做个记录。下面是merge函数的参数:Signature:pd.merge( left, right, how: str = 'inner', on=None, left_on=None, right_on=None, left_index: bool = False, right_index: bool

2021-10-14 14:49:56 11492

原创 python数据分析-判断DataFrame两列,删除同时为nan或相同值的行

问题:需要判断dataframe的两列,如果同时为空就删除该行,或该行中值相同就删除该行。一、做了一组数据如下a = pd.DataFrame({'A':[1,2,np.nan,np.nan,5],'B':[np.nan,7,np.nan,9,10],'C':[6,np.nan,8,9,np.nan]})二、需要删除A列和B列中同时为空的行,即删除索引为2的行a = a[-((a['A'].isnull()==True) & (a['B'].isnull()==True))]a

2021-09-22 22:12:01 3247

原创 python数据分析-删除DataFrame相同的列

问题:在并表过程中会有一些重复的列冗余,所以想把相同的列删除,一是为了简化数据量,二是看着舒服。思路:主要是围绕.T做转置和drop_duplicates()函数进行的操作。一、这里我做了两组数据,可以看到a数据框的B列和C列是一样的,b数据框的第一行和第二行(这里不是指索引)是一样的。a = pd.DataFrame({'A':[1,2,3,4,5],'B':[6,7,8,9,10],'C':[6,7,8,9,10]})b = pd.DataFrame({'A':[1,1,3,4,5],'B':[

2021-09-22 20:25:54 4483

原创 python数据分析-判断DataFrame的某列(Series),把满足条件的用某值替换

问题:我现在需要判断一个DataFrame的列,并把满足条件的位置替换为我想要的值。方法一:数据展示:在修改的时候发现虽然打印出来显示的是NaN,但事实上并不是我们以为的np.nan或者None,用循环打印了一下数据类型显示如下:def change(x): if type(x) == np.float: return 0 else: return xa['a'] = a['a'].apply(lambda x: change(x))这样就修

2021-07-27 09:55:42 2941

转载 python数据分析-将NAT替换为空字符串

处理从数据库取出的时间有时候会有NaT,当用strftime的时候就报错说NaT格式不支持。。。网上看了半天终于找到了!用我颤抖的手转发过来并感谢大神~a['sign_date'] = pd.to_datetime(a['sign_date'], errors='coerce')a['sign_date'] = np.where(a.sign_date.notnull(),a.sign_date.dt.strftime('%Y-%m-%d'),'')然后就完成啦!大家如果也有什么其他方法欢迎

2021-06-01 15:19:44 2789

原创 python数据分析-drop_duplicates函数和unique函数介绍及注意

浏览前任留下的代码,发现第一条用了drop_duplicates函数,紧接着用了unique函数,所以记录一下两个函数的用法。一、pandas.DataFrame.drop_duplicatesDataFrame.drop_duplicates(subset=None, keep='first', inplace=False)参数:subset: 列标签,可选keep: {‘first’, ‘last’, False}, 默认值 ‘first’first: 保留第一次出现的重复项。last

2021-05-13 11:22:14 3424

原创 python数据分析-DataFrame根据某列的数据判断,删除满足条件的数据所在的行

问题:有一个DataFrame,有一列数据是日期的数据,但是数据类型不是日期型,而且,需求是空的保留,删除日期在2020-01-01前的数据所在的行。a = pd.DataFrame({'one':[1,2,3,4,5],'two':['2021-03-01','','2019-12-27','','2020-01-01'],'three':['','ss','',11,'gg']})for i in range(len(a)): if a['two'][i].strip()=='':

2021-05-08 16:18:21 4282

原创 python数据分析-合并DataFrame的两列,为空的单元格被另一列有值的替换

问题:需要合并两列内容,这两列的内容恰好是互补的,所以需要合并成一列进行数据处理,stack的方式也能实现,但是有点繁琐,后来了解到可以用concat函数和drop函数搭配使用。数据和代码如下。import pandas as pdimport numpy as np数据情况如下:df = pd.DataFrame({'a':[307,19,98,102,9],'b':[np.nan,np.nan,'yes',np.nan,np.nan],'c':['no','ok',np.nan,'haha',

2021-04-26 18:19:26 3604

原创 python数据分析-判断两个DataFrame的列(Series)是否相同

问题:现在有两个DataFrame,第一个我们命名为df1,第二个我们命名为df2。两个DataFrame中各有一列数据,我需要横向判断这两列的数据是否相同(即:判断df1的第1行和df2的第1行是否相同,df1第2行和df2第2行是否相同,依次类推),网上查看了一些解决办法,有的用循环遍历等都感觉不太正确,因为数据量太大也没办法验证.import pandas as pdimport numpy as np1、当数据长度相同时df1 = pd.DataFrame({'col1':['a','b'

2021-04-26 14:38:59 24685 3

原创 python数据分析-DataFrame中取某字段中字符串的几个字符

前几天遇到了一个问题,就是要求我从一个list中,把每个字符串的中间的几位取出来并在前面加上‘00’,每个字符串的分隔符是‘/’,我的第一想法是把list弄到DataFrame中,然后循环把要的取出来存到新的list中,可是复杂了,后来想到了zip函数,所以,后来实现了一下,文字可能没表述很清楚,我把两种方法都展示一下,好便于大家理解。首先:数据大致是这个样子的,我就随便写了四个,就是要把‘22#’,‘33#’,‘4#’等等,有很多,输出到list中,格式为:‘0033’,就是前面加上‘00’后面去掉‘#

2021-04-07 00:00:36 6566 2

原创 python数据分析-Mysql8.0版本用sqlyog连接1251错误解决

用sqlyog连接8.0.23版本的mysql发生1251错误下载8.0版本的mysql时候发现最好直接下载.msi的安装文件,方便许多,好,接下来说问题。因为之前装的是5.5版本的,但是timstamp在建表的时候只能有一条,然后5.5版本的不支持窗口函数,所以决定安装8.0版本的,稳不稳定就再说吧,反正用于本地测试语句的。。。上网查了一下产生的原因:主要是由于mysql8.0以前的加密规则与mysql8.0以后的存在差异,客户端和服务端版本差别太大导致的。解决办法:1.首先mysql8.0

2021-03-25 22:37:08 395

原创 python数据分析-Mysql服务的启动和停止

Mysql的启动MySQL软件的服务器端必须先启动,客户端才可以连接和使用数据库。一、图形界面的启动1、右键计算机–>管理2、点击服务和应用程序,然后双击服务。3、找到MySQL右键启动或其他操作,这里我的MySQL我自己给起了名字,方便和其他版本的SQL区分。二、命令行方式的启动1、打开电脑自带的cmd窗口,一定要以管理员身份运行(找到电脑的命令提示符窗口,右键以管理员身份运行)。2、然后输入命令:net start 要启动的mysql的名字,因为我演示图形界面启动的时候已经

2021-03-03 11:02:27 478

原创 python数据分析-Pandas的loc和iloc的用法和区别

loc和iloc的区别和用法一、区别loc适用于索引中的标签。iloc在索引中的位置上起作用(因此仅采用整数)。(1)loc的用法data.loc[:,'列一'] #取出所有行第一列,loc可以理解为传入两个参数一个是关于行的,一个是关于列的。data.loc[:,['列一','列四','列三']] #取出所有行多列,就把列名包裹成列表的形式。data.loc[0:5,['列一','列四','列三']] #取出某几行某几列,把行索引和列名传入。data.loc[data['列四']==138

2021-02-27 17:01:20 6563 1

原创 python数据分析-Pandas数据清洗

数据的格式请参考前面Pandas常见操作中数据的格式。数据清洗(1)重复值的处理重复值一般采取删除法来处理。但有些重复值不能删除,例如订单明细数据或交易明细数据等。data[data.duplicated()] #判断重复数据并取出。data.duplicated(subset=[‘列二’,‘列三’],keep=‘first’),以某几个元素判断是否重复,保留第几个。data.drop_duplicates() #删除重复值。data.duplicated(subset=[‘列二’,‘列三’])

2021-02-27 16:51:10 347

原创 python数据分析-常用数据分析库之Pandas(下)

数据的筛选data = pd.read_excel(r'D:\Anaconda\Work_file\test_data.xlsx',sheet_name=0,dtype={'列二':str}) #注意如果dtype列中有缺失值int型会报错。data[:10] #取前10行数据data['列三'][:5] #取出某列前5行数据data[['列一','列四','列三']][:5] #取出某几列前5行数据这里的列的顺序是自己设置的,返回顺序和自己设置的顺序是一样的。DataFrame条件查询

2021-02-27 16:41:48 552

原创 python数据分析-常用数据分析库之Pandas(上)

一、Pandas常用数据结构(1)Series由一组数据以及一组与之对应的数据标签(即索引)组成。可以通过pandas.Series来创建Series,每个Series可以看成是DataFrame的一个列。(2)DataFrameDtaFrame是pandas基本数据结构,类似数据库中表或者Excel中的表格数据格式。DataFrame既有行索引,也有列索引,可以将其看成是多个Series构成的。二、Series的创建及修改a = pd.Series([1,2,3,45,23,15]) #创

2021-02-27 15:58:10 244

原创 python数据分析-Mysql的安装

为什么选择Mysql数据库,由于其开源等等理由,最后因为免费所以选择了它。刚开始的时候装Mysql还真是吃了点苦头,这里我完整的给大家展示一下完整的mysql安装过程。第一步:去mysql官网下载一个符合自己电脑位数的mysql。第二步:双击之后next第三步:必须同意,不同意不能继续。第四步:该界面是你要选择安装的类型,典型安装,自定义安装,和全部安装。在这里我选择的是自定义安装。第五步:这里要注意一下,自定义安装sever和sever data file路径是不一样的,然后我会自定义

2021-02-14 00:03:38 326

原创 python数据分析-常用数据分析库之Numpy(下)

数组的合并a = np.arange(8).reshape(4,2)c = np.arange(10).reshape(2,5)b = np.array(((8.5,1,2.5,3,4.1),(5,6,7,8,9),(10,11,12,13,14),(15,16,17,18,19)))print(a)print(b)print(c)np.hstack((a,b)) #要求合并的两个数组行数必须相同,列数不管,直接横向合并(此处需要意会)。np.vstack((c,b)) #要求合并的两个数组

2021-02-07 17:39:50 298

原创 python数据分析-常用数据分析库之Numpy(上)

Numpy在数据分析中能多用numpy中的函数就多用numpy中的函数处理数据,因为当数据量很大时,效率会差很多,举个例子,同样是把数值加1,如果用列表的循环就要用循环对每个元素进行处理,但是数组可以同时进行计算。print([i +1 for i in [1,2,3]])a = np.array([1,2,3])print(a +1)...

2021-02-07 17:32:28 186

原创 python数据分析-控制语句之json文件解析

一、简介1、Json是Javascrip对象表示法,json格式是一种轻量级的文本转换格式,拥有存储空间小,处理速度快等优势。2、Json已经成为Web浏览器和其他应用间通过HTTP请求发送数据的标准格式。3、Json本质上是一种嵌套字典格式,但键所对应的值,往往更复杂,不仅是数字,还可以是字符串,数组,列表等。二、JSON数据JSON非常接近有效的Python代码,除了空值null和一些其他的细微差别(例如不允许列表末尾的逗号)之外。基本类型是字典、列表、字符串、数字、布尔值和空值。字典中所有键

2021-02-07 11:43:11 211

原创 python数据分析-字符串的简单处理

1、print(‘hello\nworld’) #\n换行字符2、print(‘hello\tworld’) #\t制表符,空格\t\t\t3、print(r’hello\tworld’) #前面加r是代表原生字符raw的意思,不会被转义4、print(‘hello\bworld’) #退格5、print(‘我今年%s岁’%40.123456) #%s占位,和后面没有逗号6、print(‘我今年%d岁’%40.654321) #%d占位,取整,向下7、print(‘我今年%.

2021-01-25 12:45:26 284 1

原创 python数据分析-数据结构之字典

字典属于映射类数据,由键和值来构成是一种可变容器模型,且可存储任意类型对象。字典的每个键值对用冒号分割,每个键值对之间用逗号分割,用花括号 { }表示。字典数据的存储也是无序的,可以通过访问key来得到value。字典的创建1、a = {1:‘a’,2:‘b’,3:‘c’,4:‘d’,5:‘e’} #注意,这里key用数值型是可以的!项目中这种方法是比较常用的。2、b = dict(((1,‘a’),(2,‘b’),(3,‘c’),(4,‘d’),(5,‘e’))) #这里要注意dict()只允许

2021-01-21 16:12:27 1283

原创 python数据分析-数据结构之集合

集合的介绍集合(set)是一个或多个无序的不重复元素序列。元素唯一,无序的,就是说不能像之前讲的列表或者元组一样通过位置去访问里面的元素。一、集合的创建1、a = {1,2,3,4,‘a’,‘s’,‘d’}2、a = set([1,2,3,4,‘a’,‘s’,‘d’]) #集合最多有1个参数,所以采用把列表转换为集合的方式创建集合。3、因为元素是唯一的,所以在创建集合的时候会自动去重。二、向集合添加元素a.add() #每次只能添加一个元素,大于一个元素会报错,且元素在集合中添加的位置是不

2021-01-20 19:49:10 123

空空如也

空空如也

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

TA关注的人

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