pandas统计数据分析基础——对DataFrame数据的查、改、增、删及分析DataFrame数据
目录
前言
一、数据准备
二、查看DataFrame数据
1. 使用字典访问内部数据
2.按索引查询
3.条件查询
4.属性方法查询
三、数据的修改
1.直接修改值
2. 批量修改
四、数据的增加
1.增加列
2.增加行
五、数据的删除
1.删除列
2.删除行
六、DataFrame数据的分析
1.数值型特征的描述性统计
2.类别型特征的描述型统计
七、总结
前言
DataFrame是较为常用的pandas对象,类似与excel表格。完成数据读取后,数据将以DataFrame数据结构存储在内存中。但此时并不能直接开始统计分析工作,需要使用DataFrame的属性与方法对数据的分布、大小等基本的数据状况有了解。在数据分析和处理中,Pandas是一个极其强大的Python库,它提供了名为DataFrame的二维表格型数据结构,能够方便地进行数据的存储、查询、修改、增加和删除。本文将详细介绍如何使用Pandas的DataFrame进行这些基本操作。
一、数据准备
首先,我们需要一个DataFrame对象来进行演示。以下是一个简单的示例:

二、查看DataFrame数据
除了可以使用基本的查看方式查看DataFrame数据外,还可以通过loc()方法和iloc()方法对DataFrame数据进行访问。
1.使用字典访问内部数据
2. 按索引查询
可以使用 loc 和 iloc 方法按照索引来获取数据。
loc 基于标签索引,示例:

iloc 基于位置索引,示例:

3. 条件查询

4.属性方法查询
#使用访问属性的方式取出musicdata中的number_of_records列
number_of_records = musicdata.number_of_recorids
print(number_of_records.shape)
属性查询和字典访问查询两种方式都可以获取DataFrame中的某一列数据,但是使用访问属性的方式访问数据并不建议使用。因为在多数情况下数据的列名为英文,以属性访问某一列的方式和DataFrame属性访问方式,其方法和使用的格式相同,难免存在部分列名和pandas提供的方法名相同的情况。这会引起程序混乱,也会是代码晦涩难懂。
除了以上四中方法查询数据外,我们还可以对DataFrame数据通过head()和tail()获取多行数据。
DataFrame的数据查看与访问的基本方法虽然能够基本满足数据查看要求,但是不够灵活。pandas提供了loc()、iloc()两种更加灵活的方法来实现数据访问。
loc()方法是针对DataFrame索引名称的切片方法,如果传入的不是索引名称,那么切片操作将无法执行。利用loc()方法,能够实现对所有单层索引的切片操作。
三、数据的修改
更改DataFrame中的数据的原理是将其中部分数据提取出来,重新赋值为新的数据。
注:数据更改是直接对DataFrame原数据进行更改,改操作无法撤销如果不希望直接对原数据做出更改条件进行确认或对数据进行备份。
1.直接修改值
可以直接通过索引和列名来修改特定位置的值,例如:

2. 批量修改
使用条件筛选后进行批量修改,示例:

四、数据的增加
为DataFrame新增一列数据的方法非常简单,只需要新建一个索引,并对该索引下的数据进行赋值操作即可
1.增加列

2.增加行
可以使用 append 方法添加新的行,示例:

如果新增的列值是相同的,那么直接为其赋值一个常量即可。
五、数据的删除
删除某列或某行数据需要用到pandas提供的drop()方法的基本使用格式
要删除某行数据,只需将drop()方法的labels参数换成对应行索引,将axis参数设置为0.
1.删除列
使用 drop 方法并指定列名来删除列,示例:

2.删除行
同样使用 drop 方法并指定行索引来删除行,示例:

六 、DataFrame数据的分析
描述性统计是用于概况、表述事物整体状况,以及事物间关联、类属关系的统计方法,通过几个统计值可简洁地表示一组数据的集中趋势和离散程度等。
1.数值型特征的描述性统计
数值型特征的描述性统计主要包括计算数值型数据的最小值、均值、中位数、最大值、四分位数、极差、标准差、方差、协方差、和变异系数等。
(一)使用np.mean函数计算均值。如下:
import numpy as np
print(np.mean(musicdata['number_of_records']))
(二)使用describe()实现数值型特征的描述性统计
print(musicdata[;value_actual'].describe())
2.类别型特征的描述型统计
类别型特征的分布状况,可以使用频数统计。
(一)对数据进行统计
print(musicdata['format'].value_counts()[: 6])
(二)将数据转换为某个类型(category)
musicdata['metric'] = musicdata['metric'].astype('category')
print(musidata['metric'].dtypes)
describe()方法除了支持传统数值型数据以外,还支持category类型的数据进行描述性统计,得到的4个统计量分别为列非空元素的数目、类别的数目、数目最多的类别和数目最多类别的数目。
七、总结
Pandas的DataFrame提供了丰富的API来进行数据的查询、修改、增加和删除操作。通过上述示例,我们可以看到Pandas的强大和灵活性。在实际的数据分析工作中,这些基本操作是必不可少的。希望本文能对你学习和使用Pandas有所帮助。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)