pandas库用法,python数据库pandas
熊猫数据结构
Pandas有两种基本的数据结构:序列和数据帧。
1.1创建系列数据
熊猫模块是必需的:作为pd导入熊猫。
系列和数据框:从熊猫进口系列,数据框是必需的。
系列数据:索引在左边,数值在右边
有系列值和索引属性,可以返回值数据的数据形式和索引对象。
Series有一个index对象,通过它可以获得Series的单个或一组值。
系列运算保留了索引和值之间的链接。
Series数组中的索引和值是一一对应的,类似于Python字典数据,所以Series也可以由字典数据创建。
Series对象和索引具有name属性,因此我们可以为系列定义一个名称,使系列更具可读性。
1.2创建DataFrame数据
DataFrame数据有行索引和列索引。行索引类似于Excel表中每一行的编号(未指定索引时),列索引类似于Excel表的列名(通常也称为字段)。
因为字典是无序的,所以可以通过列来指定列索引的顺序。
当没有指定行索引时,0到N-1(N是数据的长度)将作为行索引,其他数据在这里也可以作为行索引。
values属性可用于将DataFrame转换为二维数组。
下表提供了一些可以传入以创建DataFrame的常用数据类型。
1.3索引对象
数据帧的系列索引和行列索引是索引对象,用于管理轴标签和元数据。
不能修改索引,如果修改,将会报告错误。
二。熊猫指数操作
2.1重新索引
重新索引不是重命名索引,而是对索引进行重新排序。如果索引值不存在,将会引入缺失值(NaN)。
对于DataFrame数据,行索引和列索引都可以重新索引。
如果需要填充插入的缺失值,可以通过方法参数来完成。当参数值为ffill或pad时,为正向填充,当参数值为bfill或回填时,为反向填充。
reindex函数每个参数的说明
2.2替换索引
在DataFrame数据中,如果不想使用默认的行索引,可以在创建时通过index参数设置行索引。有时候我们想用列数据做行索引,可以用set_index方法来实现。
与set_index方法相反的方法是reset_index方法
对于DataFrame数据,行索引在排序后会改变。
2.3索引和选择
注意:如果使用索引标签进行切片,则包括尾端。
1.选择该行。
注意:slice不能用于选择列,因为Slice用于选择行数据。
2.选择一行。
注意:获取单独的行,这可以通过loc和iloc方法实现。锁定方法是按行索引标签选择数据;Iloc方法是按行索引位置选择数据。
3.选择行和列。
注意:ix方法同时支持索引标签和索引位置来选择行数据。在Python的新版本中,ix已经被抛弃,用ix选择行和列的方法可以用下面的代码代替
4.可爱的热狗选择
筛选出有女性性别的数据,然后你需要选择可爱的热狗。
这同样适用于不等于(!idspnonenote)的符号。=)、减号(-)和()或()。
2.4.操作行和列
1.只需添加append函数传入的字典结构数据。
您可以通过为不存在的列赋值来创建新列。
2.可以通过drop方法删除指定轴上的信息。
3.通过重命名功能,可以解决一些原因导致的标签输入错误问题。
三。熊猫数据操作
3.1、算术运算
对熊猫的数据对象进行算术运算时,如果有相同的索引对,就进行算术运算;如果没有索引对,就会引入缺失值,这就是数据对齐。
1.系列数据算术运算
2.数据帧数据算术运算
3.当DataFrame和Series数据被操作时,它们首先通过Series的索引匹配到相应的DataFrame列索引,然后向下操作行(广播)。
3.2.函数应用和映射
Map函数,将函数应用于系列的每个元素;
apply函数将函数应用于数据帧的行和列;
applymap函数将该函数应用于数据帧的每个元素。
1.您需要删除价格列中的“元”字,然后需要使用map函数。
2.应用功能
注意:lambda是一个匿名函数,和定义函数一样,可以节省代码量。
3.applymap函数可以应用于每个元素,便于对整个数据帧进行批处理。
3.3、排序
1.索引可以通过sort_index函数进行排序,默认情况下是升序。
2.这些值可以通过sort_values方法进行排序。
Pandas排序函数sort_values:Pandas中的sort _ values()函数类似于SQL中的order by函数。它可以根据某个字段中的数据对数据集进行排序,也可以对指定列或行中的数据进行排序。用法如下:dataframe.sort _ values (by= # # ,axis=0,ascending=true,inplace=false,na _ position= last )
3.4.汇总和统计
在DataFrame数据中,可以通过sum函数对每一列求和。
指定轴的方向,可以通过sum函数逐行汇总。
所述方法可以对每个数值列进行统计,且经常用于数据的初步观察。
Count是总数
平均值是算术平均值。
Std是标准偏差
Min是最小值
25%、50%和75%是相应的四分位数。
Max是最大值。
3.5.唯一值和值计数
在序列中,unique函数可用于获得非重复数组。values_counts方法可以计算每个值出现的次数。
注意:对于DataFrame的列,unique函数和value_counts方法同样适用。
第四,分层索引
4.1分级索引介绍
分层索引是在轴上有多个级别的索引。
4.2.重新排列放坡顺序。
层次索引可以通过swaplevel方法重新排列。
4.3、汇总统计
对分级索引的pandas数据进行汇总统计时,可以通过level参数指定在某一级进行汇总统计。
动词(verb的缩写)熊猫可视化
5.1.线形图
绘制各种图表的绘图方法会在熊猫库中的Series和DataFrame中找到,默认绘制折线图。
将numpy作为np导入
进口熊猫作为pd
来自熊猫进口系列,数据框架
将matplotlib作为mpl导入
导入matplotlib.pyplotlib #导入matplotlib库
%matplotlib内联
注意:%matplotlib inline是一个神奇的函数,用这个函数画出来的图会直接显示在笔记本上。
创建系列对象
创建数据框架数据。
5.2、直方图
直方图通常描述类别之间的关系。
要绘制熊猫的直方图,只需在绘图函数中添加kind= bar。如果类别很多,可以画一个水平直方图(kind= bar )。
设置plot函数的堆叠参数来绘制堆叠直方图。
注意:plot函数的alpha参数可以设置颜色透明度。
5.3.直方图和密度图
直方图用于频率分布,y轴可以是数值,也可以是比值。直方图常用于统计分析。通过绘制数据的直方图,可以看出它的一般分布规律。
hist法绘制直方图
注意:可以通过设置grid参数向图表添加网格;bin参数是值被分成多少段,默认值是10。
核密度估计(Kernel Density Estimate,KDE)是对真实密度的估计,其过程是将数据的分布近似为一组核(如正态分布)。
可以用plot函数的kind= kde 来画。
5.4.散点图
散点图主要用来展示数据之间的规律。
绘制散点图,kind=scatter
小总结:
1.默认情况下,plot方法绘制线形图;
2.添加参数kind=bar 或kind= bar 绘制直方图或水平直方图,设置plot的堆叠参数绘制堆叠直方图;
3.当kind=KDE 时,可以画一个KDE图,也就是密度图;
4.当kind=scatter 时,可以画散点图;
5.还有一个使用hist方法的特殊直方图。
不及物动词全面的示例-Tip数据集
数据分析的过程通常分为五个步骤。
(1)收集数据。这一步需要对收集的数据有一定的了解,对各个领域的含义和背景知识有足够的了解。
(2)定义问题。根据各自的行业和业务知识,为数据定义一些需要解决的问题。
(3)数据清理和整理。由于各种问题,得到的数据不够“干净”,需要通过各种手段对数据进行清洗和整理,才能得到准确的分析结果。
(4)数据探索。通过可视化等手段,对数据进行分析探索,得出结论。
(5)数据显示。这部分用来输出,或者写数据分析报告,或者向上级汇报,或者画PPT。
示例:
tip数据集来自Python第三方库seaborn(用于绘图)中的数据,所以加载数据集。
注意:head函数将返回前五条数据,或者您可以指定返回数据的行数。
1.数据源:
这个小费数据是餐饮行业收集的。Total_bill列为总消费金额;小费列为小费金额;性别列为客户性别;吸烟者列为顾客是否吸烟;日被列为提示的周;时间列为吃饭的时间段;大小列为聚在一起吃饭的人数。
2.定义问题。
小费金额和总消费金额有关联吗?性别、吸烟、星期几、午餐/晚餐、聚集人数和小费金额有一定的相关性吗?小费占消费总额的百分比服从正态分布吗?
3.数据清理
首先简单描述一下数据,看看有没有缺失值或者异常值,通过打印数据的info信息就可以看到每一列数据的类型和缺失值。
4.数据探索
分析小费金额与消费总额是否相关?
首先,分析小费金额和总消费金额,看它们是否相关,通过下面的代码画一个散点图。
从上图可以看出,小费金额和总消费金额是正相关的,即小费金额越多,给的消费就越多。
性别和小费金额有一定的相关性吗?
让我们看看性别差异是否会影响小费的多少。这里使用直方图,通过可爱的热狗选择男女性别,平均小费数据,绘制直方图。
从柱状图可以看出,女性的小费金额少于男性。
分析日期(周)是否与小费金额相关?
这和约会提示有关。由于观察数据时只看到前五行数据,所以通过unique函数查看日期的唯一值。
从柱状图可以看出,周六周日的小费高于周四周五。
分析一下参加饭局的人数和小费的多少是否有一定的相关性。
从直方图可以看出,吃饭的人越多,小费金额越高。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。