Python Pandas模块数据预处理常用方法介绍

时间:2019-07-19 来源:www.zsbohai.com

  

  数据预处理常用函数df.duplicated() :判断各行是重复,False为非重复值。df.drop_duplicates():删除重复行df.fillna(0):用实数0填充nadf.dropna():按行删除缺失数据,使用参数axis=0;按列删除缺失值,使用参数axis=1,how=''all'' 全部是NA才删,''any''只要有NA就删除del df['col1']:直接删除某列df.drop([]'col1',……],axis=1):删除指定列,也可以删除指定行df.rename(index={'row1':'A'},columns={'col1':'B'}):重命名索引名和列名df.replace():替换df值,前后值可以用字典表,{'1':'A','2:'B'}hr_data['col1'].map(function):Series.map,对指定列进行函数转换pd.merge(df1,df2,on='col1',how='inner',sort=True):合并两个df,按照共有的列作内连接(交集),outter为外连接(并集),结果排序。pd.concat([df1,df2]):多个Series堆叠成多行。df1.combine_first(df2):用df2的数据补充df1的缺失值NAN。

  接下来,我们介绍各个函数的使用方式及演示代码示例。

  数据集介绍

  以下各例子均使用如下数据集进行演示。

  

  HR.csv

  duplicated()

  判断各行是重复,False为非重复值。

  

  drop_duplicates()

  删除重复行

  

  通过指定列,删除重复行

  

  fillna(value=0)

  对缺失值进行填充 ,用实数0填充na。

  

  df.dropna()

  通常情况下,删除行使用参数axis=0,删除列使用axis=1。

  

  按列删除缺失值,使用参数axis=1。

  

  how=''all'' 全部是NA才删,''any''只要有NA就删除

  

  del df['col1']

  直接删除某列。

  

  df.drop()labels 就是要删除的行列的名字,用列表给定。axis=0 删除行,axis=1 删除列。index 直接指定要删除的行。columns 直接指定要删除的列。

  

  删除指定行

  

  df.rename()

  重命名索引名和列名。

  

  df.replace()

  替换df值,前后值可以用字典表,{'1':'A','2:'B'}。

  

  hr_data['col1'].map(function)

  Series.map,对指定列进行函数转换。

  

  pd.merge(df1,df2,on='col1',how='inner',sort=True)

  merge 函数通过一个或多个键来将数据集的行连接起来。该函数的主要 应用场景是针对同一个主键存在两张包含不同特征的表,通过该主键的连接,将两张表进行合并。合并之后,两张表的行数没有增加,列数是两张表的列数之和减一。

  {!-- PGC_COLUMN --}on=None 指定连接的列名,若两列需要连接的列名不一样,可以通过left_on和right_on 来具体指定how=’inner’,参数指的是左右两个表主键那一列中存在不重合的行时,取结果的方式:inner表示交集,outer 表示并集,left 和right 表示取某一边。

  

  pd.concat([df1,df2])

  拼接两个数据集,可在行或者列上合并。

  axis=0 是行拼接,拼接之后行数增加,列数也根据join来定,join=’outer’时,列数是两表并集。同理join=’inner’,列数是两表交集。

  

  df1.combine_first(df2)

  合并重叠数据,用df2的数据补充df1的缺失值NAN。