1.DataFrame常用属性、函数以及索引方式

1.1DataFrame简介

  DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame可以通过类似字典的方式或者.columnname的方式将列获取为一个Series。行也可以通过位置或名称的方式进行获取。

    为不存在的列赋值会创建新列。

    >>> del frame['xxx']  # 删除列

1.2DataFrame常用属性



属性

说明

values

DataFrame的值

index

行索引

index.name

行索引的名字

columns

列索引

columns.name

列索引的名字

ix

返回行的DataFrame

ix[[x,y,...], [x,y,...]]

对行重新索引,然后对列重新索引

T

frame行列转置

 

 




1.3DataFrame常用函数



1.3.1函数

说明

DataFrame(dict, columns=dict.index, index=[dict.columnnum])

DataFrame(二维ndarray)

DataFrame(由数组、列表或元组组成的字典)

DataFrame(NumPy的结构化/记录数组)

DataFrame(由Series组成的字典)

DataFrame(由字典组成的字典)

DataFrame(字典或Series的列表)

DataFrame(由列表或元组组成的列表)

DataFrame(DataFrame)

DataFrame(NumPy的MaskedArray)

构建DataFrame

数据矩阵,还可以传入行标和列标

每个序列会变成DataFrame的一列。所有序列的长度必须相同

类似于“由数组组成的字典”

每个Series会成为一列。如果没有显式制定索引,则各Series的索引会被合并成结果的行索引

各内层字典会成为一列。键会被合并成结果的行索引。

各项将会成为DataFrame的一行。索引的并集会成为DataFrame的列标。

类似于二维ndarray

沿用DataFrame

类似于二维ndarray,但掩码结果会变成NA/缺失值

 

df.reindex([x,y,...], fill_value=NaN, limit)

df.reindex([x,y,...], method=NaN)

df.reindex([x,y,...], columns=[x,y,...],copy=True)

返回一个适应新索引的新对象,将缺失值填充为fill_value,最大填充量为limit

返回适应新索引的新对象,填充方式为method

同时对行和列进行重新索引,默认复制新对象。

df.drop(index, axis=0)

丢弃指定轴上的指定项。

 

 

1.3.2排序函数

说明

df.sort_index(axis=0, ascending=True)

df.sort_index(by=[a,b,...])

根据索引排序

 

 

1.3.3汇总统计函数

说明

df.count()

非NaN的数量

df.describe()

一次性产生多个汇总统计

df.min()

df.min()

最小值

最大值

df.idxmax(axis=0, skipna=True)

df.idxmin(axis=0, skipna=True)

返回含有最大值的index的Series

返回含有最小值的index的Series

df.quantile(axis=0)

计算样本的分位数

df.sum(axis=0, skipna=True, level=NaN)

df.mean(axis=0, skipna=True, level=NaN)

df.median(axis=0, skipna=True, level=NaN)

df.mad(axis=0, skipna=True, level=NaN)

df.var(axis=0, skipna=True, level=NaN)

df.std(axis=0, skipna=True, level=NaN)

df.skew(axis=0, skipna=True, level=NaN)

df.kurt(axis=0, skipna=True, level=NaN)

df.cumsum(axis=0, skipna=True, level=NaN)

df.cummin(axis=0, skipna=True, level=NaN)

df.cummax(axis=0, skipna=True, level=NaN)

df.cumprod(axis=0, skipna=True, level=NaN)

df.diff(axis=0)

df.pct_change(axis=0)

返回一个含有求和小计的Series

返回一个含有平均值的Series

返回一个含有算术中位数的Series

返回一个根据平均值计算平均绝对离差的Series

返回一个方差的Series

返回一个标准差的Series

返回样本值的偏度(三阶距)

返回样本值的峰度(四阶距)

返回样本的累计和

返回样本的累计最大值

返回样本的累计最小值

返回样本的累计积

返回样本的一阶差分

返回样本的百分比数变化

 

 

 

 

1.3.4计算函数

说明 

df.add(df2, fill_value=NaN, axist=1)

df.sub(df2, fill_value=NaN, axist=1)

df.div(df2, fill_value=NaN, axist=1)

df.mul(df2, fill_value=NaN, axist=1)

元素级相加,对齐时找不到元素默认用fill_value 

元素级相减,对齐时找不到元素默认用fill_value 

元素级相除,对齐时找不到元素默认用fill_value 

元素级相乘,对齐时找不到元素默认用fill_value 

df.apply(f, axis=0)

将f函数应用到由各行各列所形成的一维数组上

df.applymap(f)

将f函数应用到各个元素上

df.cumsum(axis=0, skipna=True)

累加,返回累加后的dataframe



1.4DataFrame索引方式



索引方式

说明

df[val]

选取DataFrame的单个列或一组列

df.ix[val]

选取Dataframe的单个行或一组行

df.ix[:,val]

选取单个列或列子集

df.ix[val1,val2]

将一个或多个轴匹配到新索引

reindex方法

将一个或多个轴匹配到新索引

xs方法

根据标签选取单行或者单列,返回一个Series

icol、irow方法

根据整数位置选取单列或单行,并返回一个Series

get_value、set_value

根据行标签和列标签选取单个值



运算:默认情况下,Dataframe和Series之间的算术运算会将Series的索引匹配到的Dataframe的列,沿着列一直向下传播。若索引找不到,则会重新索引产生并集。

2.DataFrame常用属性例程

3.DataFrame常用函数DataFrame()/reindex()/drop()

4.DataFrame排序函数

5.DataFrame汇总统计函数

6.DataFrame计算函数

7.DataFrame常用索引方式例程

df.reindex()+df.xs()+df.iloc[] + df.get_value() + df.get_values() + df.set_value()


1.DataFrame常用属性、函数以及索引方式

1.1DataFrame简介

  DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame可以通过类似字典的方式或者.columnname的方式将列获取为一个Series。行也可以通过位置或名称的方式进行获取。

    为不存在的列赋值会创建新列。

    >>> del frame['xxx']  # 删除列

1.2DataFrame常用属性



属性

说明

values

DataFrame的值

index

行索引

index.name

行索引的名字

columns

列索引

columns.name

列索引的名字

ix

返回行的DataFrame

ix[[x,y,...], [x,y,...]]

对行重新索引,然后对列重新索引

T

frame行列转置

 

 




1.3DataFrame常用函数



1.3.1函数

说明

DataFrame(dict, columns=dict.index, index=[dict.columnnum])

DataFrame(二维ndarray)

DataFrame(由数组、列表或元组组成的字典)

DataFrame(NumPy的结构化/记录数组)

DataFrame(由Series组成的字典)

DataFrame(由字典组成的字典)

DataFrame(字典或Series的列表)

DataFrame(由列表或元组组成的列表)

DataFrame(DataFrame)

DataFrame(NumPy的MaskedArray)

构建DataFrame

数据矩阵,还可以传入行标和列标

每个序列会变成DataFrame的一列。所有序列的长度必须相同

类似于“由数组组成的字典”

每个Series会成为一列。如果没有显式制定索引,则各Series的索引会被合并成结果的行索引

各内层字典会成为一列。键会被合并成结果的行索引。

各项将会成为DataFrame的一行。索引的并集会成为DataFrame的列标。

类似于二维ndarray

沿用DataFrame

类似于二维ndarray,但掩码结果会变成NA/缺失值

 

df.reindex([x,y,...], fill_value=NaN, limit)

df.reindex([x,y,...], method=NaN)

df.reindex([x,y,...], columns=[x,y,...],copy=True)

返回一个适应新索引的新对象,将缺失值填充为fill_value,最大填充量为limit

返回适应新索引的新对象,填充方式为method

同时对行和列进行重新索引,默认复制新对象。

df.drop(index, axis=0)

丢弃指定轴上的指定项。

 

 

1.3.2排序函数

说明

df.sort_index(axis=0, ascending=True)

df.sort_index(by=[a,b,...])

根据索引排序

 

 

1.3.3汇总统计函数

说明

df.count()

非NaN的数量

df.describe()

一次性产生多个汇总统计

df.min()

df.min()

最小值

最大值

df.idxmax(axis=0, skipna=True)

df.idxmin(axis=0, skipna=True)

返回含有最大值的index的Series

返回含有最小值的index的Series

df.quantile(axis=0)

计算样本的分位数

df.sum(axis=0, skipna=True, level=NaN)

df.mean(axis=0, skipna=True, level=NaN)

df.median(axis=0, skipna=True, level=NaN)

df.mad(axis=0, skipna=True, level=NaN)

df.var(axis=0, skipna=True, level=NaN)

df.std(axis=0, skipna=True, level=NaN)

df.skew(axis=0, skipna=True, level=NaN)

df.kurt(axis=0, skipna=True, level=NaN)

df.cumsum(axis=0, skipna=True, level=NaN)

df.cummin(axis=0, skipna=True, level=NaN)

df.cummax(axis=0, skipna=True, level=NaN)

df.cumprod(axis=0, skipna=True, level=NaN)

df.diff(axis=0)

df.pct_change(axis=0)

返回一个含有求和小计的Series

返回一个含有平均值的Series

返回一个含有算术中位数的Series

返回一个根据平均值计算平均绝对离差的Series

返回一个方差的Series

返回一个标准差的Series

返回样本值的偏度(三阶距)

返回样本值的峰度(四阶距)

返回样本的累计和

返回样本的累计最大值

返回样本的累计最小值

返回样本的累计积

返回样本的一阶差分

返回样本的百分比数变化

 

 

 

 

1.3.4计算函数

说明 

df.add(df2, fill_value=NaN, axist=1)

df.sub(df2, fill_value=NaN, axist=1)

df.div(df2, fill_value=NaN, axist=1)

df.mul(df2, fill_value=NaN, axist=1)

元素级相加,对齐时找不到元素默认用fill_value 

元素级相减,对齐时找不到元素默认用fill_value 

元素级相除,对齐时找不到元素默认用fill_value 

元素级相乘,对齐时找不到元素默认用fill_value 

df.apply(f, axis=0)

将f函数应用到由各行各列所形成的一维数组上

df.applymap(f)

将f函数应用到各个元素上

df.cumsum(axis=0, skipna=True)

累加,返回累加后的dataframe



1.4DataFrame索引方式



索引方式

说明

df[val]

选取DataFrame的单个列或一组列

df.ix[val]

选取Dataframe的单个行或一组行

df.ix[:,val]

选取单个列或列子集

df.ix[val1,val2]

将一个或多个轴匹配到新索引

reindex方法

将一个或多个轴匹配到新索引

xs方法

根据标签选取单行或者单列,返回一个Series

icol、irow方法

根据整数位置选取单列或单行,并返回一个Series

get_value、set_value

根据行标签和列标签选取单个值



运算:默认情况下,Dataframe和Series之间的算术运算会将Series的索引匹配到的Dataframe的列,沿着列一直向下传播。若索引找不到,则会重新索引产生并集。

2.DataFrame常用属性例程

3.DataFrame常用函数DataFrame()/reindex()/drop()

4.DataFrame排序函数

5.DataFrame汇总统计函数

6.DataFrame计算函数

7.DataFrame常用索引方式例程

df.reindex()+df.xs()+df.iloc[] + df.get_value() + df.get_values() + df.set_value()