
python数据分析
文章平均质量分 84
用于讲解数据分析的一些基础知识
lys_828
up、up、down、up。wechat联系方式即为博客名称,邮箱为xianl828@163.com
展开
-
按照分组将多行数据合并成为一个单元格的数据(explode方法的相反操作)
按照分组将多行数据合并成为一个单元格的数据1 背景2 问题解决手动反爬虫,禁止转载:原博地址 https://blog.youkuaiyun.com/lys_828/article/details/121157833(优快云博主:Be_melting) 知识梳理不易,请尊重劳动成果,文章仅发布在优快云网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息1 背景在进行数据分析过程中,有人会有如下的需求,就是统计相同编号下的sku情况,具体需求如下给出的具体示意流程如下仔细观察一下,其实就是p原创 2021-11-05 10:25:50 · 1363 阅读 · 2 评论 -
Pandas数据结构Dataframe:基本概念及创建
1. Dataframe基本概念1)Dataframe(“带有标签的二维数组”):是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值、字符串、布尔值等。2)Dataframe中的数据以一个或多个二维块存放,不是列表、字典或一维数组结构。Dataframe带有index(行标签)和columns(列标签)import pandas as pdimport numpy as np...原创 2020-02-25 19:25:07 · 2478 阅读 · 2 评论 -
【python数据分析】正态分布、正态性检验与相关性分析
正态分布、正态性检验与相关性分析1 正态分布2 正态性检验2.1 直方图初判2.2 QQ图2.3 K-S检验2.3.1推导过程2.3.2 直接一行代码调用3 相关性分析3.1 图示初判3.2 Pearson相关系数3.2.1 计算推导3.2.2 代码一步到位3.3 Sperman秩相关系数3.3.1 计算推导3.3.2 代码一步到位4 总结1 正态分布正态分布概念是由法国数学家和天文学家棣莫弗(Abraham de Moivre)于1733年首次提出的,后由德国数学家Gauss率先将其应用于天文学研究原创 2021-02-23 00:05:05 · 11543 阅读 · 4 评论 -
将多列单元格中的多个数据拆分为多行数据(explode方法扩展使用)
将多列单元格中的多个数据拆分为多行数据(explode方法扩展使用)1 业务需求2 发现问题3 解决问题实际操作1 业务需求在经过昨天梳理通过日期字段提取年月日、timedelta提取时分秒并进行小时汇总后,今天发现业务需求中里面要求对入职时间和培训时间的信息进行处理分析,结果拿到的数据是一个单元格里存在多个数据,如下2 发现问题根据昨天梳理的博客,可以直接尝试进行两个字段的相加减的操作,试一下,结果就是因为上面的图示,数据中将两个人的信息填报到一个表格中了,而且两列的数据是一一对应的3 解决原创 2020-11-27 12:48:46 · 2127 阅读 · 2 评论 -
通过日期字段提取年月日、timedelta提取时分秒并进行小时汇总
通过日期字段提取年月日、timestamp提取时分秒并进行小时汇总1 业务需求2 根据时间字段提取年月日3 根据timestamp提取时分秒并进行小时汇总1 业务需求在进行数据分析,经常会遇到时间处理的问题,有时候需要从时间字段中直接提取年月日,在进行汇报工作的时候会被要求进行汇报时间和完成时间的差值计算,并统计出时分秒,于是面对真实的业务需求,就对这个问题进行梳理一下 ,梳理结果如下图2 根据时间字段提取年月日方法:就是将时间字段转化成为datetime数据,然后提取year、month、day原创 2020-11-26 22:26:07 · 7948 阅读 · 6 评论 -
【python数据分析】绘制疫情可视化地图、气泡图
疫情数据地理可视化1. 示例图2. 前期准备2.1 python第三方库2.2 准备文件3. 数据整理3.1 数据文件导入3.2 数据处理及某日数据提取4. 绘制图形4.1 疫情可视化地图4.2 疫情可视化气泡图4.3 疫情可视化气泡图(增添颜色)5. 防杠处理5.1 南海版图5.2 图形ps6. 手动防爬虫1. 示例图图一:具体某天的全国确诊病例可视化地图图二:具体某天的全国确诊病例可视化气泡图图三:具体某天的全国确诊病例可视化气泡图(增加颜色维度,代表疑似病例),并增加地图背景2. 前期原创 2020-05-26 21:57:05 · 11433 阅读 · 15 评论 -
【python】将单元格中的多个数据拆分为多行数据(explode方法使用)
单元格多数据拆分1. 背景与需求2. 问题解决2.1 官方示例2.2 实际操作2.2.1 采坑2.2.2 问题纠错3. 问题解决4. 小结1. 背景与需求在处理数据中,往往需要做多维特征提取(一对多),如下:一个企业会有多个擅长领域,为了作多维度数据特征分析,需要将‘企业画像’中单元格的数据进行拆分成为一行一个特征的数据样式,且其他列数据保持不变,简单的demo(以随机两个公司为例)如下2. 问题解决这里需要使用pandas中的explode方法,注意此方法是在0.25.0版本之后才有,所以确原创 2020-05-23 17:19:30 · 14469 阅读 · 9 评论 -
【python数据分析(27)】matplotlib绘制柱状图和饼图边线显示问题
1.matplotlib版本这里以最新的Anaconda自带的matplotlib版本为例,如下import matplotlibprint(matplotlib.__version__)→ 输出的结果为:'3.1.3'2. 柱状图边线问题import matplotlib.pyplot as pltimport pandas as pdimport numpy as np...原创 2020-04-26 10:21:29 · 1760 阅读 · 3 评论 -
【python数据分析(26)】DataFrame表格样式设定(针对于jupyter notebook)
0. 样式创建:① Styler.applymap:elementwise → 按元素方式处理Dataframe② Styler.apply:column- / row- / table-wise → 按行/列处理Dataframe前期准备,导入相关的库和加载数据(编程环境jupyter notebook)import numpy as npimport pandas as pdi...原创 2020-03-21 21:10:57 · 3779 阅读 · 0 评论 -
【python数据分析(25)】Matplotlib库基本图形绘制(2) (直方图、密度图、散点图、矩阵散点图、极坐标图、雷达图、极轴图、箱型图)
1. 直方图plt.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None,histtype=‘bar’, align=‘mid’, orientation=‘vertical’,rwidth=None, log=False, color=None, label=None,...原创 2020-03-21 11:53:20 · 1358 阅读 · 0 评论 -
【python数据分析(24)】Matplotlib库基本图形绘制(1)(线形图、柱状图、堆叠图、面积图、填图、饼图)
0. 前期准备:导入三个必备的库,推荐使用jupyter notebook或者spyder编程环境import numpy as npimport pandas as pdimport matplotlib.pyplot as plt1. 线形图1) Series直接生成线形图参数介绍:Series.plot():series的index为横坐标,value为纵坐标kind →...原创 2020-03-21 11:52:53 · 2376 阅读 · 0 评论 -
【python数据分析(23)】Matplotlib库绘图的子图、主次刻度、注解、图表输出
1、 子图1)在matplotlib中,整个图像为一个Figure对象;2)在Figure对象中可以包含一个或者多个Axes对象;3)每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域1.1 plt.figure绘制子图plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None,fram...原创 2020-03-13 10:51:48 · 2002 阅读 · 0 评论 -
【python数据分析(22)】Matplotlib库绘图的图表样式参数(linestyle、marker、color、style)
1. linestyle线条参数默认是导入了相关的库,这里的代码就不再显示了'-' solid line style 实线样式'--' dashed line style 虚线样式'-.' dash-dot line style 虚点线样式':' dotted line style 冒号样式plt.plot([i**2 for i in ra...原创 2020-03-12 23:58:44 · 12650 阅读 · 0 评论 -
【python数据分析(21)】Matplotlib库绘制图形(图表窗口、图例、标题、轴相关参数、网格、刻度等设置)
1、Matplotlib库简介1) 一个python版的matlab绘图接口,以2D为主,支持python、numpy、pandas基本数据结构,运营高效且有较丰富的图表库2) 在使用之前建议设置一个自己喜欢的样式、或者按照工程及论文要求的图形样式进行绘图参数的设置,关于如何设置,可以查看上一篇博客2、图表窗口由于选择使用的是jupyter notebook,这里就存在多种表格窗口的显示...原创 2020-03-12 22:08:45 · 1758 阅读 · 0 评论 -
【python数据分析(20)】Matplotlib库运行前系统参数设置(中文及负号不显示、网格线及透明度、刻度显示)
1、版本选择这里安装的是最新的Anaconda 2020.02版本(下载地址),打开jupyter notebook,新建一个python3文件,首先查看一下matplotlib的版本号,输入如下import matplotlibprint(matplotlib.__version__)–> 输出的结果为:(Anaconda中默认配置的是3.1.3的版本)3.1.32、简单示...原创 2020-03-12 17:13:09 · 1197 阅读 · 0 评论 -
【python数据分析(18)】Pandas中时间序列处理(4)pd.to_period()与pd.to_timestamp()数据之间转换以及时间序列索引及切片
1. period时期数据1.1 pd.Period()创建时期数据1) pd.Period()参数:一个时间戳 + freq 参数 → freq 用于指明该 period 的长度,时间戳则说明该 period 在时间轴上的位置import pandas as pdp = pd.Period('2020', freq = 'M')print(p)print(type(p))–&...原创 2020-03-04 19:49:00 · 8245 阅读 · 0 评论 -
【python数据分析(19)】Pandas中时间序列处理(5) 时间序列数据重采样resample()方法的使用
1. 时间序列数据重采样概念将时间序列从一个频率转换为另一个频率的过程,且会有数据的结合的过程;之前涉及到频率的转换只是单纯的改变频率,而并没有改变时间标签所对应的数值信息,比如在获得每天的销售信息时候,想要进行每个月甚至每年的销售汇总时候,就需要使用时间序列重采样...原创 2020-03-04 23:01:43 · 3405 阅读 · 1 评论 -
【python数据分析(17)】Pandas中时间序列处理(3)时间戳索引中date_range()方法及频率freq的变换
1. pd.date_range() 生成日期范围通过上一个博客中的输出结果的内容中可以看到,最后的时间戳索引里面的freq = None,下面就可以开始对freq输出结果进行处理了,主要是调整.date_range() 中的参数pd.date_range(start=None, end=None, periods=None, freq=‘D’, tz=None, normalize=Fal...原创 2020-03-04 13:55:11 · 5488 阅读 · 0 评论 -
【python数据分析(16)】Pandas中时间序列处理(2)Timestamp时刻数据与DatetimeIndex时间索引
1. Timestamp时刻数据1.1pandas.Timestamp() 时刻数据代表时间点,是pandas的数据类型,是将值与时间点相关联的最基本类型的时间序列数据import numpy as npimport pandas as pdfrom datetime import datetimedate1 = datetime(2016,12,1,12,45,30) date...原创 2020-03-04 10:48:26 · 3968 阅读 · 0 评论 -
【python数据分析(15)】Pandas中时间序列处理(1)datetime中年月日数据的提取、时间数据运算以及日期字符串格式标准化转换
1. datetime库1.1 datetime.date1) datetime.date.today() 返回今日,输出的类型为date类import datetimetoday = datetime.date.today()print(today)print(type(today))–> 输出的结果为:2020-03-04<class 'datetime.dat...原创 2020-03-04 10:08:29 · 4131 阅读 · 0 评论 -
【python数据分析(14)】Pandas实现csv和excel文件数据读取和保存,制作透视表(pivot_table)和交叉表(crosstab)
1. csv和excel文件的读取与保存1.1 读取和保存csv文件1) 读取csv文件,加载数据。 pd.read_csv()括号内加上文件的路径即可,里面如果文件未能正常加载,可以通过调整括号内的参数import osos.chdir(r'C:\Users\86177\Desktop')import pandas as pddf = pd.read_csv('demo.csv')...原创 2020-03-03 23:20:15 · 2894 阅读 · 0 评论 -
【python数据分析(13)】Pandas中数据去重与替换、数据分组(groupby方法的使用)、分组统计方法(基本函数及扩展)
1. 去重及替换1.1 .duplicated() 方法,判断是否重复可以通过布尔判断,得到不重复的值(类比之前的.is_unique()方法)s = pd.Series([1,1,1,2,2,3,4,5])print(s.duplicated())print(s[s.duplicated() == False])–> 输出的结果为:0 False1 True...原创 2020-03-01 12:42:53 · 3859 阅读 · 0 评论 -
【python数据分析(12)】Pandas实现对Excel列表数据整合(merge纵向合并、concat横向连接)
1. 背景在进行表格操作的时候,经常需要将两个excel表格数据进行横向合并,或者对原有的数据进行纵向扩充,这时候,就可以使用Pandas里面的 merge 纵向合并和 concat 横向连接功能了,如下:2. 纵向合并pd.merge(left, right, how=‘inner’, on=None, left_on=None, right_on=None,left_index=Fal...原创 2020-02-26 23:33:12 · 3573 阅读 · 0 评论 -
【python数据分析(11)】Pandas针对文本数据处理(字符串判断、两端数据处理、替换与分割、基本索引)
1. Pandas针对文本数据处理1)Pandas针对字符串配备的一套方法,使其易于对数组的每个元素进行操作;2)通过str访问,且 自动排除丢失/ NA值,3)比如在上一篇末尾提及到了成员资格判断中的.str.contains()的方法样本数据生成s = pd.Series(['A','b','C','bbhello','123',np.nan,'hj'])df = pd.DataF...原创 2020-02-26 13:45:31 · 898 阅读 · 0 评论 -
【python数据分析(10)】Pandas数值计算和统计基础(核心要点:累计和/积、唯一值、值计数、成员资格判断)
1. 主要的数值计算方法1.1 .count() → count统计非Na值的数量import pandas as pdimport numpy as npdf = pd.DataFrame({'key1':np.arange(10), 'key2':np.random.rand(10)*10})print(df)print(df.count()...原创 2020-02-26 13:45:11 · 999 阅读 · 0 评论 -
【python数据分析(9)】Pandas数据结构Dataframe:数据查看、转置 、添加/修改、删除值 / 对齐 / 排序
1. 数据查看.head()查看头部数据.tail()查看尾部数据默认查看5条df = pd.DataFrame(np.random.rand(16).reshape(8,2)*100, columns = ['a','b'])print(df.head(2))print(df.tail())–> 输出的结果为: a...原创 2020-02-25 19:27:13 · 705 阅读 · 0 评论 -
【python数据分析(8)】 Pandas数据结构Dataframe:选择行和列、索引(切片)
注意事项:1) Dataframe既有行索引也有列索引,可以被看做由Series组成的字典(共用一个索引)2)单选 列 为Series,print结果为Series格式3)多选 列 为Dataframe,print结果为Dataframe格式4) 选择 行 为Dataframe,print结果为Dataframe格式1. 选择列df[] 一般用于选择列,也可以选择行(默认是进行列选择的...原创 2020-02-25 19:26:22 · 1618 阅读 · 0 评论 -
【python数据分析(6)】Pandas数据结构Series:数据索引(切片)、查看、重新索引(对齐)以及增删修补
1. Series索引1.1 位置下标索引,类似序列1) 位置下标从0开始2) 输出结果为numpy.float格式3) 可以通过float()函数转换为python float格式4) numpy.float与float占用字节不同5)类似序列,但是不同于序列,不可以反向索引,比如下面的s[-1]import numpy as pyimport pandas as pds =...原创 2020-02-25 10:36:53 · 1265 阅读 · 1 评论 -
【python数据分析(5)】 Pandas数据结构Series:基本概念及创建
1. 基本概念及创建1.1 Series 是带有标签的一维数组可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引核心:series相比于ndarray,是一个自带索引index的数组 → 一维数组 + 对应索引所以当只看series的值的时候,就是一个ndarrayseries和ndarray较相似,索引切片功能差别不大series和dict相比,ser...原创 2020-02-25 10:35:36 · 836 阅读 · 0 评论 -
【python数据分析(4)】 Numpy随机数和Numpy数据的输入输出
1. Numpy随机数numpy.random包含多种概率分布的随机样本,是数据分析辅助的重点工具之一,可以理解为直接将random库封装在里面了1.1 np.random.normal(): 标准正态分布 —— 随机生成期望值为0,标准差为1的数据samples = np.random.normal(size=(4,4))print(samples)–> 输出的结果为:(每次运...原创 2020-02-24 10:49:27 · 841 阅读 · 0 评论 -
【python数据分析(3)】 Numpy索引及切片
一维数组索引及切片import numpy as npar = np.arange(20)print(ar)print(ar[4])print(ar[3:6])–> 输出的结果为:[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]4[3 4 5]二维数组索引及切片ar = np.arange(16...原创 2020-02-24 10:48:59 · 948 阅读 · 0 评论 -
【python数据分析(2)】Numpy通用函数
1.数组形状:.T/.reshape()/.resize()1).T方法:转置,例如原shape为(3,4)/(2,3,4),转置结果为(4,3)/(4,3,2) → 所以一维数组转置后结果不变2)numpy.reshape(a, newshape, order='C'):为数组提供新形状,而不更改其数据,所以元素数量需要一致!!3)numpy.resize(a, new_shape):返回...原创 2020-02-23 23:59:53 · 850 阅读 · 0 评论 -
【python数据分析(1)】Numpy基本属性,数组的创建,和数据类型
Numpy功能介绍Numpy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵;Numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,Numpy会自动做并行计算;Numpy底层使用C语言编写,数组中直接存储对象,而不是存储对象指针,所以其运算效率远高于纯Python代码Numpy基本属性1)数组的基本属性① 数组的维数称为秩(rank),一维数组的秩...原创 2020-02-23 23:59:29 · 1407 阅读 · 0 评论