(1)pandas 基础教程
步骤1、环境准备
右击桌面上选择【Open in Terminal】 打开终端。
在弹出的终端中输入【ipython】进入Python的解释器中,如图1所示。
步骤2、导入所需要的包
导入实验常用的python包。如图2所示。
【import pandas as pd】pandas用来做数据处理。
【import numpy as np】numpy用来做高维度矩阵运算.
【import matplotlib.pyplot as plt】matplotlib用来做数据可视化。
步骤3、创建对象
通过传递一个list对象来创建一个Series,pandas会默认创建整型索引,如图3所示。
【s = pd.Series([1,3,5,np.nan,6,8]】将一个list传入到Series对象
【s】查看s的值
通过传递一个 numpy array,时间索引以及列标签来创建一个 DataFrame,如图4所示。
【datas = pd.date_range(‘20170101’, periods=6)】生成20170101-20170106 六天的日期
【datas】查看生成的数据
【df = pd.DataFrame(np.random.randn(6,4), index=datas, columns=list(‘ABCD’))】以时间为索引以及ABCD为列标签创建一个DataFrame对象
【df】查看生成的DataFrame对象
通过传递一个能够被转换成类似序列结构的字典对象来创建一个DataFrame。如图5所示:
【
df2 = pd.DataFrame({ ‘A’ : 1.,
‘B’ : pd.Timestamp(‘20170101’),
‘C’ : pd.Series(1,index=list(range(4)),dtype=’float32’),
‘D’ : np.array([3] * 4,dtype=’int32’),
‘E’ : pd.Categorical([“test”,”train”,”test”,”train”]),
‘F’ : ‘foo’ })
】生成一个字典对象,并传递生成一个DataFrame
【df2】查看生成的DataFrame
【df2.dtype】查看不同列的数据类型
步骤4、查看数据
查看 DataFrame 中头部和尾部的行,如图6所示。
【df.head()】查看dataFrame的前五行
【df.tail(3)】查看dataFrame的后三行
查看df的索引,列名称和底层的numpy数据,如图7所示。
【df.index】查看dataFrame的索引。
【df.columns】查看dataFrame的列名称
【df.values】查看dataFrame底层的数据
describe()函数对于数据的快速统计汇总,如图8所示
【df.describe()】对数据进行快速汇总
对数据的转置,如图9所示。
【df.T】
对数据的排序,如图10所示。
【df.sort_index(axis=1, ascending=False)】按轴进行排序
【df.sort_values(by=’B’)】按值进行排序
步骤5、数据的选择
对数据的获取,如图11所示。
【df[‘A’]】选择一个单独的列,返回一个Series
【df[0:3]】切片显示
【df[‘20170101’:’20170103’]】指定日期切片
通过标签选择,如图12所示。
【df.loc[datas[0]]】使用标签来获取一个交叉的区域
【df.loc[‘20170102’,[‘A’,’B’]]】对于返回对象进行维度缩减
【df.loc[‘20170101’:’20170103’,[‘A’,’B’]]】标签切片
【df.loc[‘20170102’,[‘A’,’B’]]】对于返回对象进行维度缩减
【df.loc[dates[0],’A’]】获取一个标量
通过位置选择,如图13所示
【df.iloc[3]】通过传递数值进行位置选择(选择的是行)
【df.iloc[3:5,0:2]】通过数值进行切片选择
【df.iloc[[1,2,4],[0,2]]】通过指定一个位置的列表选择
【df.iloc[1:3,:]】对行进行切片
【df.iloc[:,1:3]】对列进行切片
【df.iloc[1,1]】获取特定的值
步骤6、布尔索引
布尔索引,如图14所示。
【df[df.A > 0]】使用一个单独列的值来选择数据
【df[df > 0]】通过where操作选取数据
【df2 = df.copy()】
【df2[‘E’] = [‘one’, ‘one’,’two’,’three’,’four’,’three’]】
【df2】
【df2[df2[‘E’].isin([‘two’,’four’])]】使用 isin() 方法来过滤