温习: 在前面咱们现已学习了Pandas基础,第二章咱们开始进入数据剖析的事务部分,在第二章第一节的内容中,咱们学习了数据的清洗,这数据剖析师资格证书怎样考一部分十分重要,只需数据变得相对洁净,咱们之后对数据数据剖析软件的剖析才可以更有力。而这一节,咱们要做的是数据重构,数据重构依旧归于数据理解索引页是哪一页(准备)的规划。

开始之前,导入numpy、pandas包和数据

# 导入根本库
import pandas索引的效果及优缺点 as pdapproach
import numpy as np
# 载入data文件中的:train-left-up.csv
data=pd.read_csv(r'datatrain-left-up.csv')
data

《Pandas数据剖析》——数据重构1

2 第二章:数据重构

2.4 数据的吞并

2.4.1 使命一:将data文件夹appstore里面的全部数据都载入,查询数据的之间的联系

#写入代码
text_left_up = pd数组排序.read_csv("data/train-left-up.csv")
text_left_down = pd.read_csv("dat数组公式a/train-left-down.csv")
te数组词xt_right_up = pd.read_csv("data/train-right-up.csv")
text_right_down = pd.read_csv("data数组去重办法/train-right索引页-down.csv")
#写入代码
text_left_up.head()

《Pandas数据剖析》——数据重构1

text_le索引ft_down.head()

《Pandas数据剖析》——数据重构1

text_right_u数组公式p.h数据剖析观念ead()

《Pandas数据剖析》——数据重构1

text_right_down.head()

《Pandas数据剖析》——数据重构1

2.4.2:使命二:运用concat办法:将数据train-left-up.csv和train-right-up.csv横向吞并为一张表,并保存这张表为result_up

#写入代码
result_up=pd.concat([text_left_up,text_ri索引失效的几种状况ght_up],axis=1)
resu数组去重办法lt_up.head索引贴()

《Pandas数据剖析》——数据重构1

pd.concat(object,axis=0,join=’outer’,join_axes=None,ignore_index=False,keysappointment=None,levels=None,names=None数据剖析观念,ver索引失效的几种状况ify_integrity=False)

常用参数阐明

  • object:series,dataframapplicatione或则是panel构成的序列list
  • axis:需求吞并联接的轴,0是行,1是列 在这里可以记住axis=1便是横向吞并,axis=0便是纵向吞并
  • join:联接的办法inner,或许outer

2.4.3 使命三:运用concat办法:将tra数组in-left-down和train-right-down横向吞并为一张表,索引页并保存这张表为result_down。然后将上边的result_up和result_down纵向吞并为result。

#写入代码数组词
result_down=pd.数据剖析师高薪圈套concat([text_left_down,text_righ数据剖析观念t_d索引超出了数组界限什么意思own],axis=1)
result=pd.concat([result_up,result_down],axis=0)
result.head()

《Pandas数据剖析》——数据重构1

2.4.4 任appear务四:运用DataFrame自带的办法join办法和append:完毕使命二和使命三的使命

jion函数:

功用阐明:经过索引或许指定的列联接两个DataFrame。横向操作

DataFrame.join(other, on=数据剖析师资格证书怎样考None, how=’left’, lsu索引ffix=”, rsuffix=”, sort=False)

参数阐明

  • other:【DataFrame,或许带有名字的数据剖析观念Series,或许DataFrame的list】假定传递的是Series,那么其name特色应当是一数据剖析师高薪圈套个集结,而且该集结将会作为效果DataFrame的列名
  • on:【列称谓,或许列称谓的l索引符号ist/tuple,或许类似形状的数组】联接的索引页列,默许运用索引联接
  • how:【approve{‘left’, ‘right’, ‘outer’, ‘inner’}, dapplicationefault:‘left’】联接的方数据剖析师要考什么证法,默许为左联接
  • ls索引贴uffix:【str索引页是哪一页ing】左数组排序DataFrame中重复列的后缀
  • rsuffix:【string】右DataFrame中重复列的后缀
  • sort:【boolean, default,False】依照字典次序对效索引超出了数组界限什么意思果在联接键上排序。假定为False,联接键的次序取决于联接类型(关键字)数据剖析师资格证书怎样考

append函数:索引超出矩阵维度

功用阐明:向dataframe政策中appstore增加新的行,假定增加的列appearance名不在dataframe政策中,将会被当作新的列进行增加。纵向操作

append(self, other, ignore_index=False, verify_integrity=Falsapproache)

参数阐明

  • other:另一个d数据剖析办法f;
  • ignore_index:若为True,则对index进行重排;
  • verify_integrity:对in索引失效dex的唯一性进行验数组指针证,若有重复,报错。若现已设置了ig索引页是哪一页nore_index,则该参数无效。

回来值:

回来增加完毕联数组去重办法接的一个新政策

#写入代码
resul_up = text_left_up.join(text_right数据剖析陈述_up)
result_down = text_left_down.join(text_right_down)
result = result_up.append(result_down)
result.head()

《Pandas数据剖析》——数据重构1

2.4.5 使命五:运用Panads的merge办法和applicationDataFrame的append办法:完毕使命二和使命三的使命

pd.merg索引符号e(left, right, how=’inner’, on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=True,
suffixes=(‘_x’, ‘_y’), cappointmentopy=True, indicator=False,
validate=None)

参数如下:

  • left数组转字符串: 拼接的左边DataFrame政策
  • right: 拼接的右侧DataFrame政策
  • on: 要参与的列或索引等级称谓。 必须在左边和右侧DataFrame政策中找索引失效到。 假定未传递且left_index和right_index为False,则DataFrame中的列的交集将被揣度为联接键。
  • lefapproacht_on:左边DataFrame中的列或索引等级用作键。 可以是列名,索引级称谓,也可以索引页是长度等于DataFrame长度的数组。
  • right_on: 左边DataFrame中的列或索引等级用作键。 可以是列名,索引级称谓,也可以是长度等于DataFrame长度的数组。
  • left_index: 假定为True,则运用左边DataFrame中数据剖析师要考什么证的索引(行标签)作为其联接键。 关于具有MultiIndex(分层)的DataF数组去重rame,等级数必数据剖析师须与右侧DataFrame中的联接键数相匹配。
  • right_index: 与索引贴left_index功用类似。
  • how: One of ‘left’, ‘righapp下载t’, ‘outer’, ‘inner’. 默许inner。inner是取交集,outer取并集。比方left:[‘A’,‘B’,‘C’];right[’’A,‘C’,‘D’];inner取交集的话,left中出现的A会和righ数据剖析观念t中出现的买一个A进行匹配拼接,假定没有是B,在right中没有匹配到,则会丢掉。’outer’取并集,出现的A会进行逐个匹配,没有一起出现的会将缺失appointment的部分增加缺失值。
  • sort: 按字典次序索引失效的几种状况经过联接键对效果D数组函数的使用办法ataFrame进行排序。 默许为True,设置为False将在许多状况下明显前进功用。
  • suffixes: 用于堆叠列的字符串后缀元组。 默许为(‘x’,’ y’)。数据剖析办法
  • copy: 一直从传递的DataFrame政策拷贝数据(默许为Tr数据剖析师ue),即便不需求重建索引也是如此。
  • indicator:将一列增加到名为_merge的输出D索引失效的几种状况ataFrame,其间包括有关每行源的信息。 _merge是分类类型,而且关于其吞并键仅出现在“左”DataFrame中的查询值,获得值为left_only,关于其吞并键app下载仅出现在“右”DataF数组rame中的查询值为right_only,而且假定在两者中都找到查询点的吞并键,则为left_only。数组去重
#写入代码
result_up = pd.appreciatemerge(text_left_up,text_right_up,left_index=True,right_index=True)
result_down = pd.merge(text_lapp下载eft_down,text_right_down,left_index=Tapproachrue,right_index=True)
result = resul_up.append(result_d数据剖析师ow索引失效n)
result.head()

2.4.6 使命六:完毕的数据保存为result.csv

#写入代码
result.to_数据剖析cs索引的效果及优缺点v('result.csv')

2.5 换一种视点看数据

2.5.1 使命一:将咱们的数据变为Series类型的数据

#写入代码
# 将无缺的数据加载出来
text = pappreciated.read_csv('result.csv')
text.head()

《Pandas数据剖析》——数据重构1

#写入代码
# stack函数会将数据从”表格结构“变成”花括号结构“,行将其行索引变成appearance列索引,反之数组函数的使用办法,unstack函数将数据从”花括号结构“变成”表格索引超出了数组界限什么意思结构“,即要将其间一层的列索引变成行索引。
unit_result=text.stack().head(2数组转字符串0)
unit_result.head(20)

《Pandas数据剖析》——数据重构1
stack 进程表明将数据集的列旋转为行,相同 unstack数据剖析培训 进程表数组的界说明将数据的行旋转为列。

常见的数据的层次化结构有两种,一种是表格,一种是“花括号”,即下面这样的l两种形式:

《Pandas数据剖析》——数据重构1
表格数据剖析观念在部队方向上均有索引(类似于DataFrame),花括号结构只需“列方向”上的索引(类似于层次化的Series),结构更加倾向于堆叠(Series-stack,便当记忆)。stack函数会将数数组转字符串据从”表格结构“变成”花括号结构“,行将appearance其行索引变成列索引,反之,unstack函数将数据从”花括号结构“变成”表格结构数据剖析办法“,即要将其间一层的列索引变成行索引。