从Excel到Python:最常用的36个Pandas函数 (4)

1.按标签提取(loc)

#按索引提取单行的数值 df_inner.loc[3] id 1004 date 2013-01-05 00:00:00 city shenzhen category 110-C age 32 price 5433 gender female m-point 40 pay Y group high sign NaN category_1 110 size C Name: 3, dtype: object

使用冒号可以限定提取数据的范围,冒号前面为开始的标签值后面为结束的标签值。

#按索引提取区域行数值 df_inner.loc[0:5]

从Excel到Python:最常用的36个Pandas函数

Reset_index函数用于恢复索引,这里我们重新将date字段的日期
设置为数据表的索引,并按日期进行数据提取。

#重设索引 df_inner.reset_index()

从Excel到Python:最常用的36个Pandas函数

#设置日期为索引 df_inner=df_inner.set_index('date')

从Excel到Python:最常用的36个Pandas函数

#提取4日之前的所有数据 df_inner[:'2013-01-04']

从Excel到Python:最常用的36个Pandas函数

2.按位置提取(iloc)

使用iloc函数按位置对数据表中的数据进行提取,这里冒号前后
的数字不再是索引的标签名称,而是数据所在的位置,从0开始。

#使用iloc按位置区域提取数据 df_inner.iloc[:3,:2]

从Excel到Python:最常用的36个Pandas函数


iloc函数除了可以按区域提取数据,还可以按位置逐条提取

#使用iloc按位置单独提取数据 df_inner.iloc[[0,2,5],[4,5]]

前面方括号中的0,2,5表示数据所在行的位置,后面方括号中的数表示所在列的位置。

从Excel到Python:最常用的36个Pandas函数

3.按标签和位置提取(ix)

ix是loc和iloc的混合,既能按索引标签提取,也能按位置进行数
据提取.

#使用ix按索引标签和位置混合提取数据 df_inner.ix[:'2013-01-03',:4]

从Excel到Python:最常用的36个Pandas函数


4.按条件提取(区域和条件值)

使用loc和isin两个函数配合使用,按指定条件对数据进行提取

#判断city列的值是否为beijing df_inner['city'].isin(['beijing']) date 2013-01-02 True 2013-01-05 False 2013-01-07 True 2013-01-06 False 2013-01-03 False 2013-01-04 False Name: city, dtype: bool

将isin函数嵌套到loc的数据提取函数中,将判断结果为Ture数据
提取出来。这里我们把判断条件改为city值是否为beijing和shanghai。如果是就把这条数据提取出来。

#先判断city列里是否包含beijing和shanghai,然后将复合条件的数据提取出来。 df_inner.loc[df_inner['city'].isin(['beijing','shanghai'])]

从Excel到Python:最常用的36个Pandas函数

数据筛选

按条件筛选(与、或、非)

Excel数据目录下提供了“筛选”功能,用于对数据表按不同的条
件进行筛选。

从Excel到Python:最常用的36个Pandas函数


Python中使用loc函数配合筛选条件来完成筛选功能。配合sum和count函数还能实现Excel中sumif和countif函数的功能。
使用“与”条件进行筛选,条件是年龄大于25岁,并且城市为
beijing。

#使用“与”条件进行筛选 df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'beiji ng'), ['id','city','age','category','gender']]/

从Excel到Python:最常用的36个Pandas函数

#使用“或”条件筛选 df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beiji ng'), ['id','city','age','category','gender']].sort(['age'])

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydwdp.html