数据预处理

  如何对数据进行预处理,提高数据质量,是数据分析中重要的问题。

1.数据合并

    堆叠合并数据,堆叠就是简单地把两个表拼在一起,也被称为轴向链接,绑定或连接。依照轴的方向,数据堆叠可分为横向堆叠和纵向堆叠。

    1.横向堆叠,即将两个表在x轴向拼接在一起。可以使用concat函数完成。

         pandas.concat(obj,axis=0,join="outer",join_axes=None,ignore_index=False,keys=None,levels=None,names=None)

    obj:需要拼接党的pandas对象

    axis:连接的轴,axis=0为纵向,axis=1为横向

    join: inner(交集)或outer(并集)

    ignore_index:表示是否不保留连接轴上的索引

    当axis=1是表示横向连接,当两张表索引不完全一样时,可以使用参数选择内连接和外连接。在内连接情况下,仅仅返回索引重叠部分,在外连接情    况下,则显示索引的并集部分数据,不足部分就使用空值填补。

    2.纵向堆叠,是将两个数据表在y轴方向上拼接。concat函数和append方法两者都可以纵向堆叠。即axis=0 当数据表的列名不完全相同时,可以使用     join参数,inner 取的是列名交集的列,outer返回的是两者列名并集所代表的的列。

 1 import numpy as np
 2 s1 = pd.Series([1,2],index=["a","b"])
 3 s2 = pd.Series([3,4,5],index=["c",'d',"e"])
 4 s3 = pd.Series([6,7],index=["f","g"])
 5 s4 = pd.concat([s1,s2,s3])  #默认按列连接
 6 print(s4)
 7 s5 = pd.concat([s1,s2,s3],axis=1)  #按横向连接
 8 print(s5)   #没有重叠部分用缺失值填充
 9 print(pd.concat([s1,s4],axis=1,join="inner"))   #值保留重叠部分
10 df1= pd.DataFrame(np.arange(6).reshape(3,2),index=["a","b","c"],columns=["one","two"])
11 df2 = pd.DataFrame(5+np.arange(4).reshape(2,2),index=["a","c"],columns=["three","four"])
12 print(pd.concat([df1,df2],axis=1,keys=["level1","level2"]))
13 print(pd.concat({"level1":df1,"level2":df2},axis=1))
View Code

相关文章:

  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
  • 2021-11-28
  • 2021-12-15
  • 2021-05-30
  • 2021-04-29
  • 2021-06-28
猜你喜欢
  • 2021-09-12
  • 2022-02-07
  • 2021-05-13
  • 2021-12-25
  • 2021-05-01
  • 2021-07-26
相关资源
相似解决方案