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

本章主要讲的是数据的预处理,对清洗完的数据进行整理以便后期的统计和分析工作。主要包括数据表的合并,排序,数值分列,数据分组及标记等工作。

1.数据表合并

在Excel中没有直接完成数据表合并的功能,可以通过VLOOKUP函数分步实现。
在Python中可以通过merge函数一次性实现。

#建立df1数据表 df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008], "gender":['male','female','male','female','male ','female','male','female'], "pay":['Y','N','Y','Y','N','Y','N','Y',], "m-point":[10,12,20,40,40,40,30,20]})

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


使用merge函数对两个数据表进行合并,合并的方式为inner,将
两个数据表中共有的数据匹配到一起生成新的数据表。并命名为
df_inner。

#数据表匹配合并 df_inner=pd.merge(df,df1,how='inner')

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


合并的方式还有left,right和outer方式

df_left=pd.merge(df,df1,how='left') df_right=pd.merge(df,df1,how='right') df_outer=pd.merge(df,df1,how='outer')

2.设置索引列

索引列可以进行数据提取,汇总,数据筛选

#设置索引列 df_inner.set_index('id')

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

3.排序(按索引,按数值)

Excel中可以通过数据目录下的排序按钮直接对数据表进行排

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

Python中需要使用ort_values函数和sort_index函数完成排序

#按特定列的值排序 df_inner.sort_values(by=['age'])

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


Sort_index函数用来将数据表按索引列的值进行排序。

#按索引列排序 df_inner.sort_index()

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

4.数据分组

Excel中可以通过VLOOKUP函数进行近似匹配来完成对数值的分组,或者使用“数据透视表”来完成分组

Python中使用Where函数用来对数据进行判断和分组

#如果price列的值>3000,group列显示high,否则显示low df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low ')

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


还可以对多个字段的值进行判断后对数据进行分组,下面的代码中对city列等于beijing并且price列大于等于4000的数据标记为1。

#对复合多个条件的数据进行分组标记 df_inner.loc[(df_inner['city'] == 'beijing') & (df_inner['price'] >= 4000), 'sign']=1

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

5.数据分列

Excel中的数据目录下提供“分列”功能。

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


在Python中使用split函数实现分列在数据表中category列中的数据包含有两个信息,前面的数字为类别id,后面的字母为size值。中间以连字符进行连接。我们使用split函数对这个字段进行拆分,并将拆分后的数据表匹配回原数据表中。

#对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size pd.DataFrame((x.split('-') for x in df_inner['category']),index=d f_inner.index,columns=['category','size'])

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

#将完成分列后的数据表与原df_inner数据表进行匹配 df_inner=pd.merge(df_inner,split,right_index=True, left_index=Tru e)

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

数据提取

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

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