![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
零基础搞定Python数据分析与挖掘
文章平均质量分 85
零基础搞定Python数据分析与挖掘
浊酒南街
纵使疾风起,人生不言弃。
展开
-
第二章:数据分析师的一天
老板来了!!!来来来,安静一下,我们开个简短的会议啊。…………那么,问题来了,通过这次推广营销,拉回了多少流失用户?他们的贡献额是多少?ROI是多少?下一次营销预估会激活多少流失用户?小白的反应???额?赶紧记一下!• 什么是流失用户?• 贡献额的计算口径是什么?• ROI是什么鬼?• 流失用户的激活数据咋预测啊?我感觉已经陷入了一个大坑!!怎么办怎么办?谁来救救我?老司机来了~~~就是简单的分析和建模问题!根据流失的定义,查询流失用户的回购情况;原创 2024-06-06 09:51:36 · 659 阅读 · 0 评论 -
第一十章:Python数据可视化-离散型数据的可视化(一)
直接学习:https://edu.csdn.net/course/play/6861/326789离散型数据的可视化(一)饼图的绘制:pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,labeldistance=1.1)x:指定绘图的数据explode:指定饼图部分的突出显示,即呈现爆炸式labels:为饼图添加标签说明,类似于图例说明colors:指定饼图的填充色autopct:自动添加百分比显示原创 2020-05-20 11:19:44 · 1259 阅读 · 0 评论 -
第一十章:Python数据可视化-离散型数据的可视化(二)
直接学习:https://edu.csdn.net/course/play/6861/371101离散型数据的可视化(二)1、条形图的绘制bar(x,height,width=0.8,bottom=None,color=None,edgecolor=None,tick_label=None,label=None)x:传递数值序列,指定条形图中x轴上的刻度值height:传递数值序列,指定条形图中y轴的高度width:指定条形图的宽度,默认为0.8bottom:用于绘制堆叠条形图color:指原创 2020-05-20 22:06:55 · 934 阅读 · 2 评论 -
第九章:Pandas模块的介绍-数据的汇总
直接学习:https://edu.csdn.net/course/play/6861/326775数据的汇总:1、透视表功能pd.pivot_table(data,values=None,index=None,columns=None,aggfunc=‘mean’,fill_value=None,margins=False,dropna=True,margins_name=‘ALL’)data:指定需要构造透视表的数据集values:指定需要拉入’数值‘框的字段列表index:指定需要拉入’行标原创 2020-05-17 22:30:33 · 195 阅读 · 0 评论 -
第九章:Pandas模块的介绍-冗余值、异常值和缺失值的处理(二)
直接学习:https://edu.csdn.net/course/play/6861/371100冗余值、异常值和缺失值的处理(二)1、异常值的识别及处理#z得分法#分位数法#距离法2、缺失值的识别及处理df.isnulldf.fillnadf.dropna3、示例代码如下:data05 = pd.read_excel(r'D:\Teach Plan\CSDN\PPT\第7章 pandas模块的介绍\data_test05.xlsx')data05.head()#识别缺失值da原创 2020-05-17 11:00:56 · 317 阅读 · 0 评论 -
第九章:Pandas模块的介绍-冗余值、异常值和缺失值的处理(一)
直接学习:https://edu.csdn.net/course/play/6861/326774冗余值、异常值和缺失值的处理1、数据类型的修改pd.to_datetime()df.column.astype()import pandas as pdsec_car = pd.read_csv(r'D:\Teach Plan\CSDN\PPT\第7章 pandas模块的介绍\sec_cars.csv')sec_car.head()#查看列的数据类型sec_car.dtypes#数据类型的修原创 2020-05-16 23:59:45 · 407 阅读 · 0 评论 -
第九章:Pandas模块的介绍-数据的合并与连接
直接学习:https://edu.csdn.net/course/play/6861/326776数据的合并与连接1、数据的合并pd.concat(objs,axis=0,join=‘outer’,join_axes=None,ignore_index=False,keys=None)objs:指定需要合并的对象,可以是序列、数据框或面板数据构成的列表axis:指定数据合并的轴,默认为0,表示合并多个数据的行,如果为1,表示合并多个数据的列join:指定合并的方式,默认为outer,表示合并所有原创 2020-05-18 23:05:42 · 157 阅读 · 0 评论 -
第九章:Pandas模块的介绍-数据的读取(三)
直接学习:https://edu.csdn.net/course/play/6861/371099数据库数据的读取(三)1、读取格式pymysql.connnect(host=None,user=None,password='',database=None,port=0,charset='')#host:指定需要访问的mysql服务器#user:指定访问mysql数据库的用户名#password:指定访问mysql数据库的密码#database:指定访问mysql数据库的具体库名#port:原创 2020-05-16 18:04:09 · 166 阅读 · 0 评论 -
第九章:Pandas模块的介绍-数据的读取(二)
直接学习:https://edu.csdn.net/course/play/6861/371098数据的读取(二):电子表格的读取1、读取格式:pd.read_excel(io,sheetname=0,header=None,names=None,index_col=None,skiprows=None,skip_footer=0,na_values=None,thousands=None,convert_float=True,converters=None)#io:指定电子表格的具体路径#she原创 2020-05-16 11:37:12 · 118 阅读 · 0 评论 -
第九章:Pandas模块的介绍-数据的读取(一)
直接学习:https://edu.csdn.net/course/play/6861/326758数据的读取(一):1、csv格式文本文件的读取:pd.read_csv(filepath_or_buffer,sep=',',header='infer',names=None,usecols=None,skiprows=None,skipfooter=None,converters=None,encoding=None)#filepath_or_buffer:指定csv文件或txt文件所在的具体路径原创 2020-05-16 10:55:18 · 156 阅读 · 0 评论 -
第九章:Pandas模块的介绍-数据子集的筛选
直接学习:https://edu.csdn.net/course/play/6861/326767数据子集的筛选1、语法列的筛选:df.column-name,df[‘column-name’]行的筛选:df.loc[condition,:]行列的筛选:df.loc[condition,:column_list]import pandas as pdimport pymysqlbridge = pymysql.connect(host = '127.0.0.1',user = 'root',原创 2020-05-16 23:28:06 · 214 阅读 · 0 评论 -
第九章:Pandas模块的介绍-数据的基本概览
直接学习:https://edu.csdn.net/course/play/6861/326759数据的基本概览1、代码如下import pymysqlimport pandas as pdbridge=pymysql.connect(host='localhost',user='root',password='root',port=3306,database='mylb',charset='utf8')data1=pd.read_sql('select * from employee',con原创 2020-05-16 18:33:30 · 190 阅读 · 0 评论 -
第八章:Numpy模块的介绍-案例分享理想赌局下的结局
直接学习:https://edu.csdn.net/course/play/6861/371097案例分享理想赌局下的结局1、代码如下initial = 1000packages = [initial]R = np.random.uniform(0,1,1500)for time in R: if time < 0.5: initial -= 8 else: initial += 8 packages.append(initial)原创 2020-05-15 23:54:21 · 125 阅读 · 0 评论 -
第八章:Numpy模块的介绍-常用数学与统计函数的介绍
直接学习;https://edu.csdn.net/course/play/6861/326756常用数学与统计函数的介绍1、数学运算符2、比较运算符3、常用的数学函数4、常用的统计函数注意:axis =0时,计算数组各列的统计值;anxis=1时,计算数组各行的统计值;5、常见的统计函数示例:arr2 = np.array(((8.5,6,4.1,2,0.7),(1.5,3,5.4,7.3,9), (3.2,3,3.8,3,3),(11.2,13原创 2020-05-15 23:50:15 · 200 阅读 · 0 评论 -
第八章:Numpy模块的介绍-数组的介绍
直接学习:https://edu.csdn.net/course/play/6861/371096数组的介绍:1、数组的构造#01、一维数组借助于array函数可以将列表或元组转换成一维数组# 导入第三方模块import numpy as np# 身高height=[176,158,163,177,172,169]# 体重weight=[82,61,70,69,89,78]# 将列表转化为数组Height = np.array(height)Weight = np.array(we原创 2020-05-15 23:02:44 · 132 阅读 · 0 评论 -
第七章:网络爬虫-爬虫案例2链家二手房
直接学习:https://edu.csdn.net/course/play/6861/341445爬虫案例2链家二手房1、代码入下:import requestsimport bs4import pandas as pdurl = r'https://sh.lianjia.com/ershoufang/pudong/pg1/'Headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/5原创 2020-05-15 15:37:01 · 244 阅读 · 0 评论 -
第七章:网络爬虫-爬虫案例3历史天气数据
直接学习:https://edu.csdn.net/course/play/6861/341446爬虫案例3历史天气数据1、代码如下import requestsimport reimport pandas as pdurl = r'http://tianqi.2345.com/t/wea_history/js/201910/58362_201910.js'response = requests.get(url)date = re.findall("ymd:'([\d-]+)',", res原创 2020-05-15 21:02:07 · 231 阅读 · 0 评论 -
第七章:网络爬虫-爬虫案例解析红牛公司信息
直接学习:https://edu.csdn.net/course/play/6861/326752爬虫案例解析红牛公司信息代码如下1)、初级版:利用正则表达式提取数据import requestsimport reurl =r'http://redbull.com.cn/about/branch'resp = requests.get(url)company = re.findall('<h2>(.*?)</h2>',resp.text)address = re.f原创 2020-05-15 00:54:23 · 483 阅读 · 0 评论 -
第七章:网络爬虫-网络爬虫流程及常用包
直接学习:https://edu.csdn.net/course/play/6861/326751网络爬虫流程及常用包1、定义网络爬虫是根据一定的规则,自动抓取万维网信息的程序或者脚本。借助于网络爬虫的技术,基本可以做到所见即所得。典型的应用:搜索引擎,今日头条,金品分析等。2、爬虫流程3、爬虫流程流程1)、发送请求,向对方服务器发送待抓取网站的链接2)、返回请求,在不发生意外的情况下(意外包括网络问题,客户端问题,服务器问题等),对方服务器将会返回请求的内容(即网页源代码)3)、数据原创 2020-05-15 00:38:30 · 310 阅读 · 0 评论 -
第六章:自定义函数的介绍-自定义函数的介绍与使用(二)
直接学习:https://edu.csdn.net/course/play/6861/335841自定义函数的介绍与使用(二)1、习题思考#1、构造自定义函数,基于半径计算圆的周长,面积及体积def circle(R): zc = 2*3.14*R mj = 3.14*R**2 tj = 4/3*3.14*R**3 return zc,mj,tjcircle(10) #2、构造自定义函数,用于多数据源的读取与合并初级版:存储目录下,数据源名称相似imp原创 2020-05-14 16:52:07 · 295 阅读 · 0 评论 -
第六章:自定义函数的介绍-自定义函数的介绍及使用
直接学习:https://edu.csdn.net/course/play/6861/326750自定义函数的介绍及使用1、使用场景虽然匿名函数很灵活,会在很多代码中遇到,但它的最大特点也是它的短板,即无法通过lambda函数构造一个多行而复杂的函数。为了弥补其缺陷,python提供了另一个关键字def,可以构造逻辑复杂的自定义函数。2、语法介绍def functiion_name(parameters):function_expressionreturn(result)def:是defin原创 2020-05-14 16:37:33 · 1752 阅读 · 0 评论 -
第六章:自定义函数的介绍-匿名函数的介绍及使用
直接学习:https://edu.csdn.net/course/play/6861/335842匿名函数的介绍及使用1、定义匿名函数,可以用lambda关键字定义。通过lambda构造的函数可以没有名称,最大的特点是一气呵成,即在自定义匿名函数时,所有代码可在一行内完成。2、语法介绍lambda parameters:function_expresssionlambda:为匿名函数的关键起始词parameters:是函数的形参,多个参数之间用英文状态的逗号隔开function_expres原创 2020-05-14 16:18:02 · 301 阅读 · 0 评论 -
第五章:正则表达式的使用-正则表达式的灵活使用
直接学习:https://edu.csdn.net/course/play/6861/326749正则表达式的灵活使用1、案例一:# 导入用于正则表达式的re模块import re# 取出字符中所有的天气状态string1 = "{ymd:'2018-01-01',tianqi:'晴',aqiInfo:'轻度污染'},{ymd:'2018-01-02',tianqi:'阴~小雨',aqiInfo:'优'},{ymd:'2018-01-03',tianqi:'小雨~中雨',aqiInfo:'优'}原创 2020-05-14 10:15:22 · 151 阅读 · 0 评论 -
第五章:正则表达式的使用-常用的正则符号(二)
直接学习:https://edu.csdn.net/course/play/6861/335840常用的正则符号(二):#6、英文状态下的问号?表匹配前一个字符0次或1次#超链接的匹配url1=‘http://www.baidu.com/’url2='https://www.gov.cn/'pattern ='https?://www\..*?'#7、加号+表示匹配前一个字符1次及以上#邮箱地址的匹配email1='LSXXX2011@163.com'email2='6540881原创 2020-05-14 10:03:03 · 155 阅读 · 0 评论 -
第五章:正则表达式的使用-常用的正则符号(一)
直接学习:https://edu.csdn.net/course/play/6861/326748常用的正则符号:#01 原字符指代直接存在于字符串内部的子串# 导入第三方包import re# 提取出字符串中的Python子串s1 = '通过几天Python的学习,感觉Python很简单,非常容易上手!'re.findall('Python', s1)#02、英文状态的句号.指代任意字符(如数字,字母,标点符号,汉字等),但除了换行符\n# 提取出动力总成的值s2 = '此次新朗原创 2020-05-13 23:48:56 · 204 阅读 · 0 评论 -
第五章:正则表达式的使用-正则表达式的简介
直接学习:https://edu.csdn.net/course/play/6861/326747正则表达式的简介:1、正则表达式的定义:正则表达式是指专门用于描述或刻画字符串内在规律的表达式2、正则表达式的使用场景*无法通过切片将字符串的子串返回*借助于replace方法无法无法完成非固定值或非固定位置值的替换*借助于split方法无法按照多种值实现字符串的分割3、正则表达式的使用场景#findall()findall(pattern,string,flags=0)#pattern:原创 2020-05-13 23:24:41 · 184 阅读 · 0 评论 -
第四章:控制流语句的使用-while循环的介绍及使用
直接学习:https://edu.csdn.net/course/play/6861/334691while循环的介绍及使用1、while和for的区别:*绝大多数场景下,while循环和for循环是可以互相替代的*如果存在明确的被迭代对象(如列表、元组、字符串等),可优先使用for循环*如果不存在明确的被迭代对象,使用while循环会更加的简单2、while语法介绍及示例while condition: expression while condition: if原创 2020-05-13 17:50:27 · 324 阅读 · 0 评论 -
第四章:控制流语句的使用-for循环的介绍和使用
直接学习:https://edu.csdn.net/course/play/6861/334690for循环的介绍和使用:1、for循环语法介绍及示例介绍for语法for i in iterable: expressionfor i in iterable: if condition: expression1 else: expression2示例介绍:# 计算1到100之间的偶数和s1_100 = 0for i in range原创 2020-05-13 16:51:08 · 266 阅读 · 0 评论 -
第四章:控制流语句的使用-if分支的介绍和使用
直接学习:https://edu.csdn.net/course/play/6861/334689if分支的介绍和使用:1、if分支语法介绍及注意事项if分支语法-- 单分支if condition: expression -- 双分支if condition: expression1else: expression2 -- 多分支if condition1: expression1elif condition2: express原创 2020-05-13 10:47:40 · 357 阅读 · 0 评论 -
第三章:常见的基础数据结构-字典的介绍
直接学习:https://edu.csdn.net/course/play/6861/334687字典的介绍:#字典的构造*构造字典对象需要使用大括号表示,即{};*字典元素都是以键值对的形式存在,并且键值对之间用英文状态下的冒号隔开,即key:value;*键在字典中是唯一的,不能有重复dic1={'姓名':'张三','年龄':33,'性别':'男','子女':{'儿子':'张四','女儿':'张美'},'兴趣':['踢球','游泳','唱歌']}#字典不属于系列*由于字典不再是序列,就原创 2020-05-12 23:15:36 · 327 阅读 · 0 评论 -
第三章:常见的基础数据结构-列表元组的介绍
直接学习:https://edu.csdn.net/course/play/6861/334686列表元组的介绍:#列表的构造*列表是一种存储数据的容器,借助于一对方括号构造列表对象;*构成列表的元素没有任何限制,可以是任何类型的数据,也可以是任何结构的数据;list1 =['张三','男',33,'江苏',['身高178','体重130']]#列表属于序列*对于序列而言,前文介绍的字符串索引和切片的使用方法在列表上同样适用。list=['张三','男',33,'江苏','硕士','已婚'原创 2020-05-12 22:26:17 · 262 阅读 · 0 评论 -
第三章:常见的基础数据结构-字符串的常用方法
直接学习:https://edu.csdn.net/course/play/6861/326742字符串的常用方法:1、查询方法str.index()str.find()price3 = '89.9元/桶'# 查询“元”所在的位置print(price3.index('元'))# 取出价格,并转换为浮点型print(float(price3[:price3.index('元')]))备注:index()与find()区别,当查询不到元素时,index()会报错,find()会输出-1原创 2020-05-12 21:41:26 · 204 阅读 · 0 评论 -
第三章:常见的基础数据结构-字符串切片的使用
直接学习:https://edu.csdn.net/course/play/6861/326740字符串属于序列:#有限切片切片索引指的是按照固定的步长,连续取出多个元素,可以用[start,end,step]表示。其中start指定索引的起始位置,end指定索引的结束位置(注意end位置的元素取不到),step指定步长,默认为1,表示逐步取出子元素。price2 = '24.5元/500g'# 取出价格,并转换为浮点型print(float(price2[0:4]))# 取出字符串中的“5原创 2020-05-12 21:25:46 · 459 阅读 · 0 评论 -
第三章:常见的基础数据结构-字符串构造与索引
直接学习:https://edu.csdn.net/course/play/6861/326739一、字符串的构造单引号:字符串中含有双引号时;双引号:字符串中含有单引号时;三引号:字符串中既含有双引号又单引号时,或需要多行显示时。单引号构造字符串:'he says "good morning"'双引号构造字符串:"I'm fine too!"三引号构造字符串时:print('''he says "good morning,I'm fine too!''')string4='''原创 2020-05-12 21:08:07 · 301 阅读 · 0 评论