用pandas模块轻松做数据分析

用pandas模块轻松做数据分析

  • 一、前言
  • 二、读取Excel文件
  • 三、读取指定的行列
  • 四、数据清理
  • 五、数据合并
  • 六、数据分组统计
  • 七、汇总统计

一、前言

  本文主要介绍pandas模块,该模块是Python用于数据导入及数据整理的模块,对于数据分析,数据挖掘等前期数据处理工作十分有用,它提供了很多方法,使得数据处理变得简单高效。

  pandas模块有两个主要的数据结构对象:Series和DataFrame。Series对象是序列,类似一维数组,同时带有标签和索引,像Python的字典结构;DataFrame对象则相当于一张二维表格,类似二维数组,像数据库中的表。本文对Excel数据的分析主要使用了DataFrame对象。

  首先导入pandas库,一般都会用到numpy库,所示我们先导入备用:

  import pandas as pd
  import numpy as np

  下面介绍如何读取Excel文件、读取指定的行列、数据清理、数据合并、数据统计、主要使用了DataFrame对象,分别为df、df1和df2 。


二、读取Excel文件

  方法一:默认读取第一个表单(Sheet)

  execlFile = r"D:\自己的文件\1(1)(1).xlsx"
  df = pd.DataFrame(pd.read_excel(execlFile))


  方法二:通过指定表单(Sheet)的方式来读取

  execlFile = r"D:\自己的文件\1(1)(1).xlsx"
  df = pd.DataFrame(pd.read_excel(execlFile,sheet_name=“Sheet”))


三、读取指定的行列

  df[col]:根据列名,并以Series的形式返回列表

 例如:df1 = df[“标题”]

  df[col1,col2]:以表格数据形式返回多列

 例如:df1 = df[“标题1”,“标题2”]


  df.iloc[0,:]:返回第一行(以列形式返回Excel表格第一行数据)

  df.iloc[0,0]:返回第一行第一列单元格数据

  读取指定的多行,例如10行

 df1 = df.ix[[1,10]].values

  如果默认读取前5行,可以使用下面代码:

 df.head()


四、数据清理

  数据清理主要实现对Excel数据的清理,包括重命名列名、判断空值、删除包含空值得行和列。


  df.columns = [“a”,“b”,“c”]:重命名列名

  例如,将“买家会员名”“买家实际支付金额”重命名为“会员名”“消费金额”,代码如下:

 df1 = df[“买家会员名”,“买家实际支付金额”]
 df1.columns = [“会员名”,“消费金额”]


  pd.isnull() 检查DataFrame对象中的空值,并返回一个Boolean数组

  例如,检查“联系手机”一列是否有空值,代码如下:

  df1 = df[[“联系手机”]]
  a = pd.isnull(df1)


  df.dropna():删除所有包含空值的行

  例如:print(df1.dropna(axis = 0))

  df.dropna(axis = 1) :删除所有包含空值的列

  例如:print(df1.dropna(axis = 1))

  df.fillna(x) : 用x代替DataFrame对象中的所有空值

  例如:将联系手机为空的手机号替换为18688888888

  df[“联系手机”] = df[“联系手机”].fillna(18688888888)


五、数据合并

  下面主要介绍合并多个Excel文件的方法:

  df1.append(df2):将df2中的行添加到df1的尾部

  pd.concat([df1,df2],axis = 1):将df2中的列添加到df1的尾部

  df1.join(df2,on=None,how=“inner”):对df1的列和df2的列执行SQL形式的join(拼接列)

  如果两个列的列名相同,可以通过lsuffix="",rsuffix=""区分,例如:

  print(df1.join(df2,on=None,how=“inner”,lsuffix=“1”,rsuffix=“2”))


六、数据分组统计

  数据分组统计是对Excel数据进行分组汇总统计。

  例如:按“宝贝标题”分组统计宝贝数量,代码如下:

  df1 = df.groupby([“宝贝标题”])[“宝贝总数量”].sum()

  例如:按“宝贝标题”分组统计每种商品有多少客户购买,代码如下:

  df1 = df.groupby([“宝贝标题”])[“客户名称”].count()


七、汇总统计

  DataFrame对象提供了以下方法实现汇总统计:

  df.mean():返回所有列的均值

  df.count():返回每一列中的非空值个数

  df.max():返回每一列的最大值,返回某列最大值需要指定列名,例如df.[“宝贝总数量”].max()

  df.min():返回每一列的最小值,返回某列最小值需要指定列名,例如df.[“宝贝总数量”].min()


你可能感兴趣的:(自动化办公,数据分析,数据挖掘,python)