序列(Series)是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,序列不要求数据类型是相同的. 序列是一个一维数组,只有一个维度(或称作轴)是行(row),在访问序列时,只需要设置一个索引.pandas自动为序列创建了一个从0开始到N-1的序号,称作行的下标,行的位置.可以显式设置index参数,为每行设置标签,pandas把标签称作索引.用户可以通过索引.也可以通过位置来访问Series对象中的元素. 序列可以看作是索引到数据值的一个映射,一个索引对应一个数据…
Index对象负责管理轴标签.轴名称等元数据,是一个不可修改的.有序的.可以索引的ndarry对象.在构建Sereis或DataFrame时,所用到的任何数据或者array-like的标签,都会转换为一个Index对象.Index对象是一个从索引到数据值的映射,当数据是一列时,Index是列索引:当数据是一行数据时,Index是行索引. 一,基础函数 用于创建索引的最基础的构造函数: pandas.Index(data,dtype=object,name) 参数注释: data:类似于一维数组的…
长宽格式的转换 宽格式是指:一列或多列作为标识变量(id_vars),其他变量作为度量变量(value_vars),直观上看,这种格式的数据比较宽,举个列子,列名是:id1.id2.var1.var2.var3,一行可以表示多个度量变量的值. 而长格式是指在一行中,除了标识变量(id_vars),其他列是variable和name,从宽格式转换为长格式,会使得数据行数增加,直观上看,这种格式的数据比较长,举个例子,列名是:id1.id2.variable.value,一行只表示一个度量变量的值.…
序列内置一些函数,用于循环对序列的元素执行操作. 一,应用和转换函数 应用apply 对序列的各个元素应用函数: Series.apply(self, func, convert_dtype=True, args=(), **kwds) 参数注释: func:应用的函数,可以是自定义的函数,或NumPy函数 convert_dtype:默认值是True,尝试把func应用的结果转换为更好的数据类型,如果设置为False,把结果转换为dtype=object. args:元组,在序列值之后,传递给…
pandas是基于NumPy构建的模块,含有使数据分析更快更简单的操作工具和数据结构,是数据分析必不可少的五个包之一.pandas包含序列Series和数据框DataFrame两种最主要数据结构,索引Index是跟序列和数据框密切相关的数据结构. 通常情况下,引入pandas的约定,只要在代码中看到pd,就要联想到pandas: import pandas as pd 一,数据结构 序列是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,序列不要求数据类型是相同的.序…
常用的数据存储介质是数据库和csv文件,pandas模块包含了相应的API对数据进行输入和输出: 对于格式化的平面文件:read_table() 对于csv文件:read_csv().to_csv() 对于SQL查询:read_sql.to_sql() 一,平面文件 把按照界定符分割的格式化文件读取到DataFrame中,使用read_table()函数来实现: pandas.read_table( filepath_or_buffer: Union[str, pathlib.Path], se…
数据框和序列结构中都有轴标签,轴标签的信息存储在Index对象中,轴标签的最重要的作用是: 唯一标识数据,用于定位数据 用于数据对齐 获取和设置数据集的子集. 本文重点关注如何对序列(Series)和数据框(DataFrame)进行切片(slice),切块(dice).如何获取和设置子集. 下表列出数据框最基本的操作及其语法: 一,最基本的选择操作 最基本的选择都是使用中括号[]来实现,但是只能实现单个维度的选择.序列(Series)最基本的选择是使用行标签来选择一个标量值,数据框(DataFr…
数据框是用于存储数据的二维结构,分为行和列,一行和一列的交叉位置是一个cell,该cell的位置是由行索引和列索引共同确定的.可以通过at/iat,或loc/iloc属性来访问数据框的元素,该属性后跟一个中括号:[row,col],中括号内 row表示行索引或行标签,col表示列索引或列标签.如果省略row, 那么row维度使用“:”代替,格式是 [ :, col] ,表示访问所有行的特定列:如果省略col ,格式是[row],表示访问特定行的所有列. 有以下数据框对象df,其数据和索引如下:…
Pandas中的缺失值是指nan.None和NaT.如果需要把inf 和 -inf视为缺失值,需要设置 pandas的选项: pandas.options.mode.use_inf_as_na = True 注意,None和None是相等的,但是缺失值和其他任何值(包括缺失值)是不相等的. >>> None==None True >>> np.nan == np.nan False 一,检测缺失值 检测缺失值的函数是isna()和notna(),在DataFrame和S…
DataFrame的这些操作和Series很相似,这里简单介绍一下. 一,应用和应用映射 apply()函数对每个轴应用一个函数,applymap()函数对每个元素应用一个函数: DataFrame.apply(self, func, axis=0, raw=False, result_type=None, args=(), **kwds) DataFrame.applymap(self, func) 定义一个函数fun,使用apply()函数把fun应用到由DataFrame对象的列构成的一维…