Pandas 模块

Pandas模块

  • 1.简介
    • 1.1 Pandas的基本功能
  • 2. 数据处理基本操作
    • 2.1 pandas模块的数据结构
    • 2.2 数据的读取与写入
      • 2.2.1 read_excel()函数——读取Excel工作簿数据
      • read_csv()函数——读取CSV文件数据
      • to_excel()函数——将数据写入Excel工作簿
    • 2.2 数据概况的查看
      • head()函数和tail()函数——查看数据的前/后几行
    • 2.3 行标签和列标签的修改
      • index属性和columns属性——修改行标签和列标签
    • 2.4 数据的排序、选取和筛选
  • 3.数据处理进阶操作
    • 3.1 处理缺失值和重复值
    • 3.2 数据的转换和编辑
    • 3.3 数据的合并
    • 3.4 数据的运算
      • 基本统计函数——完成基本的统计计算
    • describe()函数——获取数据分布情况

1.简介

1.1 Pandas的基本功能

Pandas常用的基本功能如下:
1.从Excel中读取数据;
2.合并多个文件或者电子表格中的数据,将数据拆分为独立文件;
3.数据清洗,如去重、处理缺失值、填充默认值、补全格式、处理极端值等;
4.建立高效的索引;
5.支持大体量数据;
6.按一定业务逻辑插入计算后的列、删除列;
7.灵活方便的数据查询、筛选;
8.分组聚合数据,可独立指定分组后的各字段计算方式;
9.数据的转置,如行转列、列转行变更处理;
10.连接数据库,直接用SQL查询数据并进行处理;
11.对时序数据进行分组采样,如按季、按月、按工作小时,也可以自定义周期,如工作日;
12.窗口计算,移动窗口统计、日期移动等;
13.灵活的可视化图表输出,支持所有的统计图形;
14.为数据表格增加展示样式,提高数据识别效率。

2. 数据处理基本操作

2.1 pandas模块的数据结构

1.两个比较重要的对象——Series和DataFrame,pandas模块的几乎所有操作都是围绕这两个对象进行的。

2.Series对象是一种带有行标签的一维数据结构,可存储整型数字、浮点型数字、字符串等类型的数据。
创建Series对象的语法格式如下:

pandas.Series(data,index)

参数说明:
data:指定用于创建一维数据结构的数据,可以是列表、元组、字典等。
index:指定行标签,通常为列表,其数据长度与参数data相同。

3.DataFrame是一种带有行标签和列标签的二维数据结构,其形式类似用Excel创建的二维数据表。
创建DataFrame对象的语法格式如下:

pandas.DataFrame(data,columns,index)

参数说明:
data:指定用于创建二维数据结构的数据,可以是列表、元组、字典等。
columns:指定列标签,通常为列表,其数据长度与参数data相同。
index:指定行标签,通常为列表,其数据长度与参数data相同。

2.2 数据的读取与写入

2.2.1 read_excel()函数——读取Excel工作簿数据

read_excel()函数用于从Excel工作簿中读取数据并创建相应的DataFrame对象。

其语法格式如下:

pandas.read_excel(io,sheet_name,header,names,index_col,usecols)

参数说明:
io:指定要读取的工作簿的文件路径,可以是相对路径或绝对路径。
sheet_name:指定从哪个工作表中读取数据。如果省略该参数,则默认读取第1个工作表的数据。当参数值为整型数字时,以0代表第1个工作表,以1代表第2个工作表,依此类推。当参数值为字符串时,表示要读取的工作表的名称。当参数值为None时,表示读取所有工作表的数据,函数将返回一个字典,字典的键是工作表名称,字典的值是包含相应工作表数据的DataFrame对象。还可以用列表的形式指定多个工作表,例如,[0,1,‘Sheet5’]表示读取第1个工作表、第2个工作表及工作表“Sheet5”,并返回一个字典。
header:指定使用所读取数据的第几行(从0开始计数)内容作为列标签。如果省略该参数,默认使用第1行内容作为列标签。如果该参数值为None,表示将列标签设置为从0开始的整数序列。
names:指定自定义的列标签,通常为一个列表。
index_col:指定使用所读取数据的第几列(从0开始计数)内容作为行标签。如果省略该参数,表示将行标签设置为从0开始的整数序列。
usecols:指定要读取工作表中的哪几列数据。例如,要读取第2列(即B列)数据,该列的列名为“产品”,就可以将该参数设置为[1]、‘B’或[‘产品’]。如果要读取多列,参数值可以设置为由多个列索引号或列名组成的列表,如[1,2,4]、[‘产品’,‘数量’,‘金额’];也可以为多个列标组成的字符串,如’A:E’、‘A,C,E:F’。

read_csv()函数——读取CSV文件数据

CSV文件在本质上是文本文件,只能存储字符,不能存储格式、公式、宏等,因而所占存储空间通常较小。CSV文件一般用逗号分隔一系列值,它既可以用Excel打开,也可以用文本编辑器(如记事本)打开。pandas模块中的read_csv()函数用于读取CSV文件中的数据并创建相应的DataFrame对象。其语法格式如下:
pandas.read_csv(io,sep,header,names,index_col,usecols,nrows,encoding)参数说明:
io:指定要读取的CSV文件的路径,可以是相对路径或绝对路径。
sep:指定数据的分隔符。如果省略该参数,则默认使用逗号作为分隔符。
header:指定使用第几行(从0开始计数)作为列标签及数据读取的起点。
names:指定自定义的列标签,通常为一个列表。
index_col:指定作为行标签的列,可为列名字符串(如’产品’)或列索引号(如0)。
usecols:指定要读取的列,通常为一个列表,如[0,1,4]、[‘产品’,‘数量’,‘金额’]。
nrows:指定要读取的行数。
encoding:指定CSV文件的编码方式。根据实际情况设置,如’utf-8’、‘utf-8-sig’、'gbk’等。

to_excel()函数——将数据写入Excel工作簿

DataFrame对象的to_excel()函数用于将DataFrame对象中的数据写入Excel工作簿。
其语法格式如下:

表达式.to_excel(excel_writer,sheet_name,na_rep,columns,header,index,index_label)

参数说明:
表达式:一个DataFrame对象,其中包含要写入Excel工作簿的数据。
excel_writer:指定写入数据的工作簿的文件路径,可以是相对路径或绝对路径。如果路径指向的工作簿已存在,会被直接覆盖。
sheet_name:指定写入数据的工作表名称。如果省略该参数,则将工作表命名为“Sheet1”。
na_rep:指定用于填充缺失值的数据。
columns:指定要写入的列,如[‘产品’,‘数量’,‘金额’]。
header:指定写入数据时使用的列名。如果参数值为True或省略,则在写入数据时使用DataFrame对象中的列标签作为列名;如果参数值为False,则在写入数据时忽略列标签;如果参数值为一个字符串列表,则在写入数据时用其作为列名。
index:指定是否写入行标签。如果参数值为True或省略,则将行标签写入工作表的第1列;如果参数值为False,则忽略行标签。
index_label:指定行标签列的列名。

2.2 数据概况的查看

head()函数和tail()函数——查看数据的前/后几行

DataFrame对象的head()函数和tail()函数分别用于从数据的头部和尾部选取指定数量的行。
其语法格式如下:
表达式.head/tail(n)
参数说明:
表达式:一个DataFrame对象。
n:表示要返回的数据的行数。如果省略该参数,则默认返回5行数据。
这两个函数常用于快速选取部分数据来查看,以帮助验证操作结果是否正确。

shape属性——查看数据的行数和列数
DataFrame对象的shape属性用于获取数据的行数和列数。其语法格式如下:
表达式.shape参数说明:
表达式:一个DataFrame对象。
shape属性的返回结果是一个包含两个整数(分别代表行数和列数)的元组,可通过从元组中提取元素的方法来单独获取行数或列数。

info()函数——查看数据的基本统计信息
DataFrame对象的info()函数用于打印输出数据的基本统计信息,如行列数、行列标签、非空值数量、数据类型、内存占用情况等。其语法格式如下:
表达式.info()参数说明:
表达式:一个DataFrame对象。

dtypes属性——查看各列的数据类型
DataFrame对象的dtypes属性用于返回各列的数据类型。其语法格式如下:
表达式.dtypes参数说明:
表达式:一个DataFrame对象。

2.3 行标签和列标签的修改

行标签和列标签是查找和选取数据的重要依据。在读取数据后,如果生成的行标签和列标签不便于数据的操作,可以对它们进行修改。

index属性和columns属性——修改行标签和列标签

DataFrame对象的index属性和columns属性分别代表数据的行标签和列标签。调用这两个属性的语法格式如下:
表达式.index/columns参数说明:
表达式:一个DataFrame对象。
将新的行标签和列标签构造成列表,再分别赋给index属性和columns属性,就能达到修改行标签和列标签的目的。

rename()函数——重命名行标签和列标签
DataFrame对象的rename()函数用于重命名数据的行标签和列标签。其语法格式如下:
表达式.rename(index,columns,inplace)参数说明:
表达式:一个DataFrame对象。
index:指定新的行标签。该参数为一个字典,其中键是原行标签,值是新行标签。
columns:指定新的列标签。该参数为一个字典,其中键是原列标签,值是新列标签。
inplace:指定是否用重命名后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

set_index()函数——将数据列设置为行标签
DataFrame对象的set_index()函数用于将指定的数据列设置为行标签。其语法格式如下:
表达式.set_index(keys,drop,inplace)参数说明:
表达式:一个DataFrame对象。
keys:指定要设置为行标签的数据列。参数值通常为一个列标签。
drop:指定设置后是否删除数据列。参数值为True或省略该参数表示删除数据列,参数值为False则表示保留数据列。
inplace:指定是否用更改行标签后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

reset_index()函数——重置行标签
DataFrame对象的reset_index()函数用于将行标签重置为从0开始的整数序列。其语法格式如下:
表达式.reset_index(drop,inplace)参数说明:
表达式:一个DataFrame对象。
drop:指定重置行标签后是否将原行标签转换为数据列。参数值为False或省略该参数表示执行转换,参数值为True则表示抛弃原行标签。
inplace:指定是否用重置行标签后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

2.4 数据的排序、选取和筛选

排序、选取和筛选是数据处理中相当常见的操作,本节将介绍如何使用pandas模块高效完成这些操作。

sort_values()函数——数据排序
DataFrame对象的sort_values()函数用于按照指定的行或列对数据进行升序或降序排列。其语法格式如下:
表达式.sort_values(by,axis,ascending,inplace,na_position,ignore_index)参数说明:
表达式:一个DataFrame对象。
by:指定作为排序依据的行或列。可以为单个行标签或列标签,也可以为由多个行标签或列标签组成的列表。
axis:指定要按行还是按列排序。参数值为0或省略该参数表示按列排序,即将参数by的值解析为列标签;参数值为1则表示按行排序,即将参数by的值解析为行标签。
ascending:指定排序方式。参数值为True或省略该参数表示升序排列,参数值为False则表示降序排列。如果要按照多行或多列排序并分别指定排序方式,可先将参数by的值设置为由多个行标签或列标签组成的列表,再将此参数的值设置为相同长度的列表,列表的元素为True或False,代表各行或各列相应的排序方式。
inplace:指定是否用排序后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。
na_position:指定排序后缺失值的显示位置。参数值为’last’或省略该参数表示排序后将缺失值放在最后面,参数值为’first’则表示排序后将缺失值放在最前面。
ignore_index:参数值为False或省略该参数表示排序后不改变原行标签,参数值为True则表示将行标签重置为从0开始的整数序列。

rank()函数——获取数据的排名
DataFrame对象和Series对象的rank()函数用于生成数据的排名。其语法格式如下:
表达式.rank(method,na_option,ascending)参数说明:
表达式:一个Series对象(通常为从DataFrame对象中选取的单列数据)或DataFrame对象。
method:指定数据有重复值时的处理方式。参数值为’average’或省略该参数表示重复值的排名都取其自然排名的平均值,参数值为’min’或’max’分别表示重复值的排名都取其自然排名的最小值或最大值,参数值为’first’则表示越先出现的重复值排名越靠前。
na_option:指定数据有缺失值时的处理方式。参数值为’keep’或省略该参数表示缺失值的排名仍为缺失值,参数值为’top’表示将最低的排名值分配给缺失值,参数值为’bottom’则表示将最高的排名值分配给缺失值。
ascending:指定排序方式。参数值为True或省略该参数表示升序排列,参数值为False则表示降序排列。

loc属性——按标签选取数据
DataFrame对象的loc属性用于按行标签或列标签选取数据。其语法格式如下:
表达式.loc[行标签,列标签]参数说明:
表达式:一个DataFrame对象。
行标签、列标签:可以用多种形式给出,后面会结合具体案例进行讲解。如果不想指定行标签,不能直接省略该参数,而要设置为“:”。如果不想指定列标签,可以直接省略该参数。

iloc属性——按索引号选取数据
DataFrame对象的iloc属性用于按照行索引号或列索引号(均从0开始计数)来选取数据。其语法格式如下:
表达式.iloc[行索引号,列索引号]参数说明:
表达式:一个DataFrame对象。
行索引号、列索引号:可以用多种形式给出,后面会结合具体案例进行讲解。如果不想指定行索引号,不能直接省略该参数,而要设置为“:”。如果不想指定列索引号,可以直接省略该参数。

3.数据处理进阶操作

本章主要讲解如何使用pandas模块完成数据处理的进阶操作,包括缺失值和重复值的处理、数据类型转换、数据查找和替换、数据表合并和统计运算等。这些进阶操作涉及的属性和函数等语法知识并不复杂,理解之后就能熟练运用。

3.1 处理缺失值和重复值

本节主要介绍如何使用pandas模块处理数据中的缺失值和重复值,包括查看缺失值、删除和填充缺失值,以及删除重复值和获取唯一值。

isnull()函数——判断和统计缺失值
DataFrame对象的isnull()函数用于判断数据表中的值是否为缺失值,并相应标记为True或False。其语法格式如下:
表达式.isnull()参数说明:
表达式:一个DataFrame对象。

dropna()函数——删除缺失值
DataFrame对象的dropna()函数用于删除含有缺失值的行或列。其语法格式如下:
表达式.dropna(axis,how,thresh,subset,inplace)参数说明:
表达式:一个DataFrame对象。
axis:指定删除含有缺失值的行或列。参数值为0或省略该参数表示删除含有缺失值的行,参数值为1则表示删除含有缺失值的列。
how:指定删除的方式。如果参数值为’any’或省略该参数,表示只要行或列含有缺失值,就删除该行或该列;如果参数值为’all’,则表示只有当行或列的所有值都为缺失值时,才删除该行或该列。
thresh:指定对非缺失值数量的最小要求。例如,当该参数值为3时,表示保留至少含有3个非缺失值的行或列。
subset:当参数axis被设置为要删除含有缺失值的行时,用参数subset限定要在哪些列中查找缺失值;当参数axis被设置为要删除含有缺失值的列时,用参数subset限定要在哪些行中查找缺失值。
inplace:指定是否用删除缺失值后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

fillna()函数——填充缺失值
DataFrame对象的fillna()函数用于以指定的方式填充缺失值。其语法格式如下:
表达式.fillna(value,method,inplace)参数说明:
表达式:一个DataFrame对象。
value:指定用于填充缺失值的值。可以是单个值,也可以用字典的形式为不同的列分别指定不同的填充值。
method:如果省略了参数value,可以通过设置参数method,用缺失值上方或下方的值来填充缺失值。参数值为’backfill’或’bfill’表示用缺失值下方的值来填充缺失值,参数值为’ffill’则表示用缺失值上方的值来填充缺失值。
inplace:指定是否用填充缺失值后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

drop_duplicates()函数——删除重复值
DataFrame对象的drop_duplicates()函数用于删除数据表中的重复值。其语法格式如下:
表达式.drop_duplicates(subset,keep,inplace)参数说明:
表达式:一个DataFrame对象。
subset:指定查找重复值的列。省略该参数表示在所有列中查找重复值。
keep:指定删除重复值时保留哪个重复值所在的行。参数值为’first’或省略该参数表示保留第一次出现的重复值,并删除其他重复值;参数值为’last’表示保留最后一次出现的重复值,并删除其他重复值;参数值为False表示删除所有重复值。
inplace:指定是否用删除重复值后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

3.2 数据的转换和编辑

本节主要介绍pandas模块中常用的一些数据转换和编辑操作,包括数据类型和数据结构的转换,以及数据的增、删、查、改。

astype()函数——数据类型转换
DataFrame对象和Series对象的astype()函数用于转换列的数据类型。其语法格式如下:
表达式.astype(dtype)参数说明:
表达式:一个Series对象(通常为从DataFrame对象中选取的单列数据)或DataFrame对象。
dtype:指定要转换为的数据类型。可以设置为单个值,表示将所有列都转换为此数据类型;也可以设置为字典,其中键为列标签,值为要转换为的数据类型。
需要注意的是,astype()函数返回的是一个新的DataFrame对象或Series对象,因此,通常要将astype()函数返回的新对象赋给原对象,以真正实现转换。

T属性——转置行列
转置行列就是将数据表中行方向上的数据转换到列方向,将列方向上的数据转换到行方向。调用DataFrame对象的T属性可得到转置行列后的数据表,其语法格式如下:
表达式.T参数说明:
表达式:一个DataFrame对象。

stack()函数——将数据表转换为树形结构
DataFrame对象的stack()函数用于将二维表格转换为树形结构,即在维持二维表格的行标签不变的情况下,把列标签也变成行标签,从而为二维表格建立层次化的索引,以满足其他数据分析操作对数据结构的要求。其语法格式如下:
表达式.stack(level,dropna)参数说明:
表达式:一个DataFrame对象。
level:指定转换的层级。该参数默认值为-1,一般情况下可省略该参数。
dropna:指定转换后是否删除包含缺失值的行。参数值为True或省略该参数表示删除,参数值为False则表示不删除。

insert()函数——插入数据
pandas模块没有专门提供插入行的方法,因此,插入数据主要是指插入列。DataFrame对象的insert()函数用于在数据表的指定位置插入列数据。其语法格式如下:
表达式.insert(loc,column,value,allow_duplicates)参数说明:
表达式:一个DataFrame对象。
loc:指定新列的插入位置。设置为0表示在第1列前插入新列,设置为1表示在第2列前插入新列……设置为现有列的数量表示在末尾插入新列。
column:指定新列的列标签。
value:指定新列中的数据。可以为单个值、列表、Series对象等。
allow_duplicates:是否允许新列的列标签与现有列的列标签重复。参数值为True表示允许,参数值为False或省略该参数则表示不允许。

drop()函数——删除数据
DataFrame对象的drop()函数用于根据标签删除列或行。其语法格式如下:
表达式.drop(labels,axis,index,columns,inplace)参数说明:
表达式:一个DataFrame对象。
labels:指定要删除的列或行的标签。如果要删除多列或多行,应以列表的形式给出其标签。
axis:指定要删除行还是列。参数值为0或省略该参数表示要删除行,即将参数labels的值解析为行标签;参数值为1则表示要删除列,即将参数labels的值解析为列标签。
index:指定要删除的行的标签。如果要删除多行,应以列表的形式给出其标签。
columns:指定要删除的列的标签。如果要删除多列,应以列表的形式给出其标签。
inplace:指定是否用删除行或列后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

isin()函数——查找数据
DataFrame对象和Series对象的isin()函数用于在数据中查找特定的值,并将匹配的值标记为True,将不匹配的值标记为False,然后返回一个新的DataFrame对象或Series对象。其语法格式如下:
表达式.isin(values)参数说明:
表达式:一个Series对象(通常为从DataFrame对象中选取的单列数据)或DataFrame对象。
values:要查找的值。可以为单个值、列表、字典、Series对象或DataFrame对象等形式。需要注意的是,如果单个值是字符串,不能直接给出,而要以单元素列表的形式给出。

DataFrame对象的replace()函数用于对数据表中的数据进行一对一替换、多对一替换和多对多替换。其语法格式如下:
表达式.replace(to_replace,value,inplace)参数说明:
表达式:一个DataFrame对象。
to_replace:指定需要替换的值。如果有多个要替换的值,应以列表的形式给出。
value:指定要替换为的值。
inplace:指定是否用替换后的数据覆盖原来的数据。参数值为False或省略该参数表示不覆盖原来的数据,并返回一个新的DataFrame对象;参数值为True则表示覆盖原来的数据。

3.3 数据的合并

数据的合并是指将两个或两个以上的数据表整合为一个数据表,主要会用到pandas模块中的merge()函数、concat()函数和append()函数。

merge()函数——根据指定的列合并数据
merge()函数的功能类似Excel的工作表函数VLOOKUP,它能按照指定的列对两个数据表进行关联查询和数据合并。其语法格式如下:
pandas.merge(left,right,how,on)参数说明:
left、right:指定要合并的两个数据表(通常为DataFrame对象)。参数left对应的表称为“左表”,参数right对应的表称为“右表”。
how:指定合并方式。参数值为’inner’或省略该参数表示以求交集的方式合并两个数据表;参数值为’outer’表示以求并集的方式合并两个数据表;参数值为’left’表示保留左表的所有数据,将右表合并到左表中;参数值为’right’表示保留右表的所有数据,将左表合并到右表中。
on:指定拼接键,即按照哪一列或哪几列进行关联查询和合并。如果省略该参数,merge()函数会自动寻找两个数据表中的公共列作为拼接键。

concat()函数——在指定方向上合并数据
concat()函数用于在行方向或列方向上合并两个或两个以上的数据表,即使这些数据表的列标签和行标签都不相同,也可以把数据整合到一起。其语法格式如下:
pandas.concat(objs,axis,ignore_index)参数说明:
objs:指定要合并的数据表。
axis:指定合并的方向。参数值为0或省略该参数表示按行方向合并(纵向拼接),参数值为1表示按列方向合并(横向拼接)。
ignore_index:指定是否重置标签。参数值为True表示将标签重置为从0开始的整数序列,参数值为False或省略该参数表示保留原标签。

append()函数——纵向追加数据
DataFrame对象的append()函数用于按行方向在一个数据表的末尾追加数据,并返回一个新的DataFrame对象。其语法格式如下:
表达式.append(other,ignore_index)参数说明:
表达式:一个DataFrame对象,代表要在其末尾追加数据的数据表。
other:指定要追加的数据,可以为列表、字典、Series对象、DataFrame对象等。
ignore_index:指定是否重置行标签。参数值为True表示将行标签重置为从0开始的整数序列,参数值为False或省略该参数表示保留原行标签。

3.4 数据的运算

数据的统计分析中常需要进行求和、求平均值、求最小值/最大值、求分布情况、求相关系数等运算,此外,日常办公中还需要进行分组汇总、创建数据透视表等操作。

基本统计函数——完成基本的统计计算

pandas模块提供的基本统计函数有很多,如求和的sum()函数、求平均值的mean()函数、求最大值的max()函数、求最小值的min()函数、求非空值个数的count()函数、求唯一值个数的nunique()函数等。这些函数都可以对Series对象和DataFrame对象中的数据进行统计计算,并且具有相似的语法格式,下面以sum()函数为例进行讲解。其语法格式如下:
表达式.sum(axis)参数说明:
表达式:一个Series对象(通常为从DataFrame对象中选取的一列或一行)或DataFrame对象。
axis:指定计算的方向。当表达式为Series对象时,通常省略该参数。当表达式为DataFrame对象时,参数值为0或省略该参数表示对各列数据求和,参数值为1表示对各行数据求和。

describe()函数——获取数据分布情况

pandas模块中的describe()函数用于获取数据的分布情况,包括数据的个数、均值、最值、方差、分位数等。其语法格式如下:
表达式.describe()参数说明:
表达式:一个Series对象(通常为从DataFrame对象中选取的一列或一行)或DataFrame对象。

corr()函数——计算相关系数
相关系数通常用来衡量两个或多个元素之间的相关程度。DataFrame对象的corr()函数用于计算相关系数。其语法格式如下:
表达式.corr()参数说明:
表达式:一个DataFrame对象。

groupby()函数——分组汇总数据
DataFrame对象的groupby()函数用于对数据进行分组。其语法格式如下:
表达式.groupby(by)参数说明:
表达式:一个DataFrame对象。
by:指定作为分组依据的列。可以是单个列标签,也可以是包含多个列标签的列表。
使用groupby()函数对数据进行分组后,可以使用for语句遍历分组后的数据,将各组数据取出,还可以使用sum()、mean()、count()等统计函数对各组数据进行统计计算,后面会结合具体案例来讲解。

pivot_table()函数——创建数据透视表
pandas模块中的pivot_table()函数用于制作数据透视表,对数据进行快速分组和汇总计算。其语法格式如下:
pandas.pivot_table(data,values,index,columns,aggfunc,fill_value,margins,dropna,margins_name)参数说明:
data:指定用于创建数据透视表的数据(DataFrame对象)。
values:指定数据透视表的值字段,即要进行汇总计算的列。可为单列或多列。
index:指定数据透视表的行字段,即作为行标签的列。可为单列或多列。
columns:指定数据透视表的列字段,即作为列标签的列。可为单列或多列。
aggfunc:指定值字段的汇总方式,即汇总计算的函数,如sum、mean。如果要为各个值字段分别设置汇总方式,可用字典的形式给出参数,其中字典的键是值字段的列标签,字典的值是计算函数。
fill_value:指定填充缺失值的内容。默认值为None,表示不填充。
margins:设置是否显示总计行和总计列。参数值为False或省略该参数表示不显示,参数值为True则表示显示。
dropna:设置是否丢弃汇总后只包含缺失值的列或行。参数值为True或省略该参数表示丢弃,参数值为False则表示不丢弃。
margins_name:当参数margins为True时,用于设置总计行和总计列的标签。

你可能感兴趣的:(数据分析,pandas)