学校要求的做实验,参考老师发的代码。

  • 实验目的

1. 了解和掌握透视表进行数据预处理方法

  • 实验要求

 使用python的pandas进行操作。

涉及知识包括:1.数据框的增删查改;

2.批量读取数据;

3.变量类型的转换;

4.数据框的重塑与合并;

5.生成数据透视表。

 

  • 实验过程
  1. 导入数据:引入pandas等库对数据进行导入。

使用透视表对数据进行预处理。

  1. 读取2004年的数据,并且查看前5行数据

使用透视表对数据进行预处理。

  1. 查看文件末尾的数据:

使用透视表对数据进行预处理。

  1. 第一列的值为NaN值,需要删掉第一列。

data0.drop("Unnamed: 0",axis=1,inplace=True)

使用透视表对数据进行预处理。

  1. 并且把第1行的数据切片保存在col_name变量中,并且把这个变量赋值给data.colums实现更改列名。

col_name=data0.iloc[1]

data0.columns=col_name

  1. 把第0,1,最后一行数据给删掉。

data0.drop([0,1,len(data0)-1],axis=0,inplace=True)

使用透视表对数据进行预处理。

  1. 在表中增加年份一列,以便把所有的年份的数据都连接在同一个表上。

使用透视表对数据进行预处理。

  1. 定一个一个函数,用于对数据进行处理,例如去掉空值的第一列,第0行,第一行和倒数第一行,并且添加年份这个列。

def Preprogress(df,year):

    df.drop("Unnamed: 0",axis=1,inplace=True)

    df.drop([0,1,len(df)-1],axis=0,inplace=True)

    df["年份"]=year

    return(df)

  1. 通过os把by_year文件夹下所有的文件(除了2004年)保存在filename中。

使用透视表对数据进行预处理。

  1. 定义一个函数,按照文件名对数据进行批处理读入并且去掉空值的行或列。

使用透视表对数据进行预处理。

  1. 修改新表的列名。

使用透视表对数据进行预处理。

 

  1. 把2004年的数据与other_data的数据连接起来,并且把表中NaN值的数据重新填充为0.

使用透视表对数据进行预处理。

  1. 按照“地区”统计每个地方出现的个数及地区名字的表达情况。

使用透视表对数据进行预处理。  使用透视表对数据进行预处理。

  1. 由上图可以看出,地名并不规范,因此要把地名中间有空格获取缺少省字,市字的地名补全,以及把不属于地名的“建设兵团”从表中删除。

使用透视表对数据进行预处理。

  1. 读取people.csv的数据:

使用透视表对数据进行预处理。

  1. 显示people.csv尾部结构

使用透视表对数据进行预处理。

  1. 把第二行的值赋值给表的列名,并且删除第0,1,2,n-1行。

使用透视表对数据进行预处理。

  1. 把内蒙古自治区、广西自治区等地方改为表中规范的格式。

使用透视表对数据进行预处理。

  1. 重新塑造people表的数据结构,列名为地区,年份,总人口数。

使用透视表对数据进行预处理。

  1. 列出列的类型。

使用透视表对数据进行预处理。

  1. 把发病率,死亡率,总人数,发病率,死亡率的值转为数值型。

使用透视表对数据进行预处理。

  1. 导入Movies下的数据:

使用透视表对数据进行预处理。

使用透视表对数据进行预处理。

使用透视表对数据进行预处理。

使用透视表对数据进行预处理。

使用透视表对数据进行预处理。

 

  1. 把三个表的数据通过merge函数合并在一起。

使用透视表对数据进行预处理。

  1. 把rating中评分<250的电影过滤掉,并且按照title进行分组。

使用透视表对数据进行预处理。

  1. 查看三个表的前5列的数据。

使用透视表对数据进行预处理。

使用透视表对数据进行预处理。

使用透视表对数据进行预处理。

  1. 导入销售表格:

使用透视表对数据进行预处理。

  1. 创建列为Name,值为Account,Price,Quantity的索引。

使用透视表对数据进行预处理。

创建列为Mnager,Rep,值为Account,Price,Quantity的索引。

使用透视表对数据进行预处理。

创建列为Manager,Rep,值为Price的索引。

使用透视表对数据进行预处理。

创建名为Manager,Rep,值为价格的平均值和数量

使用透视表对数据进行预处理。

把NaN值填充为0,并且创建列为Manager,Rep,Product的索引。

使用透视表对数据进行预处理。

计算价格的总和并且以0填充空值,把quantity这列加进来。

使用透视表对数据进行预处理。

 

 

使用透视表对数据进行预处理。

查询经理名为Debra Henley的数据。

使用透视表对数据进行预处理。

保留Status为won或pending的数据。

使用透视表对数据进行预处理。

 

 

  • 总结

本次实验用到了read_csv()读入本地的csv文件,使用re库对数据进行规范,使用lambda对数据批处理。使用函数的方法把具有重复动作的代码写在在一起,减少代码的重复。通过pd.pivot_table的方法创建索引把数据按照自定义的方式呈现在表中,通过query函数对数据进行过滤。

 

相关文章:

  • 2021-05-25
  • 2021-09-10
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2022-02-22
  • 2021-11-24
  • 2021-11-22
猜你喜欢
  • 2021-11-07
  • 2021-12-30
  • 2021-10-07
  • 2022-12-23
  • 2021-07-21
  • 2021-10-22
  • 2021-05-21
相关资源
相似解决方案