数据分析与可视化 课件 3.3数据变更_第1页
数据分析与可视化 课件 3.3数据变更_第2页
数据分析与可视化 课件 3.3数据变更_第3页
数据分析与可视化 课件 3.3数据变更_第4页
数据分析与可视化 课件 3.3数据变更_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据变更1.Series数据变更2.DataFrame数据变更1.Series数据变更(1)修改更改Series中的数据,原理是将这部分数据提取出来,重新赋值为新的数据。需要注意的是,数据更改如果直接针对Series原数据更改,操作无法撤销,如果做出更改,需要对更改条件做确认或对数据进行备份。1.Series数据变更①索引修改。运行结果:修改数值后的Series:a-1b2c-1d4e-1dtype:int64修改数据类型后的Series:a-1.0b2.0c-1.0d4.0e-1.0dtype:float64示例:使用索引修改Series对象中的数据。代码:ser=pd.Series(data=[1,2,3,4,5],

index=['a','b','c','d','e'])

ser[[0,2,4]]=-1

print('修改数值后的Series:\n%s'%ser)

ser=ser.astype(np.float64)

print('修改数据类型后的Series:\n%s'%ser)1.Series数据变更②update函数update函数使用传递的Series对象中的非NA值在适当位置修改Series。该函数按索引对齐。语法规则如下所示:Series.update(other:Series|Sequence|Mapping)other为Series对象或可以强制转换为Series的对象,可以按照数据的顺序更新,也可以按照index标签进行更新。update函数无返回值,直接修改原始数据。1.Series数据变更运行结果:根据Series对象的顺序修改:041526dtype:int64根据列表的顺序修改:041226dtype:int64根据索引修改:0d1b2edtype:object示例:使用update函数修改Series对象中的数据。代码:ser1=pd.Series([1,2,3])ser1.update(pd.Series([4,5,6]))print('根据Series对象的顺序修改:\n%s'%ser1)ser2=pd.Series([1,2,3])ser2.update([4,np.nan,6])print('根据列表的顺序修改(np.nan忽略):\n%s'%ser3)ser3=pd.Series(['a','b','c'])ser3.update(pd.Series(['d','e'],index=[0,2]))print('根据索引修改:\n%s'%ser4)1.Series数据变更(2)添加①Series['new_index']=value。直接在原来的Series上进行修改,并且每次只能够添加一个Series值。②Series.loc['new_index']=value。直接在原来的Series上进行修改,并且每次只能够添加一个Series值。③Series._append(to_append,ignore_index:bool=False,verify_integrity:bool=False)。将to_append对应的Series、列表或元组添加到Series对象末尾,默认不忽略添加对象的index、不进行验证完整性。返回一个新的Series对象。1.Series数据变更运行结果:011223a4b5c6dtype:int64011223F8dtype:int64011223F8H10dtype:int64示例:向Series对象中添加数据。代码:ser1=pd.Series([1,2,3])

ser2=ser1._append(pd.Series(data=[4,5,6],

index=['a','b','c']))

print(ser2)

ser1['F']=8

print(ser1)

ser1.loc['H']=10

print(ser1)1.Series数据变更(3)删除①使用del关键词删除Series对象指定数据,删除操作作用到原始数据。②Series.drop(labels:IndexLabel|None=None,*,axis:Axis=0,index:IndexLabel|None=None,columns:IndexLabel|None=None,level:Level|None=None,inplace:bool=False,errors:IgnoreRaise="raise")->Series|None,返回一个新的Series对象,删除结果不作用到原始数据,常用于根据index删除Series对象的指定数据。1.Series数据变更运行结果:b2c3d4e5dtype:int64b2c3d4e5dtype:int64b2c3dtype:int64示例:从Series对象中删除数据。代码:ser1=pd.Series(data=[1,2,3,4,5],

index=['a','b','c','d','e'])

delser1['a']

print(ser1)

ser2=ser1.drop(index=['d','e'])

print(ser1)

print(ser2)2.DataFrame数据变更(1)修改更改DataFrame中的数据,原理是将这部分数据提取出来,重新赋值为新的数据。需要注意的是,数据更改直接针对DataFrame原数据更改,操作无法撤销,如果做出更改,需要对更改条件做确认或对数据进行备份。常使用DataFrame.loc[]或DataFrame.iloc[]提取数据并修改,可以将提取的数据修改为某个值,也可以按照提取的数据位置进行修改。2.DataFrame数据变更(2)添加——添加列①新建索引添加列DataFrame添加一列只需要新建一个列索引。并对该索引下的数据进行赋值操作即可。新增的一列值是相同的则直接赋值一个常量即可。DataFrame[new_column]=valueDataFrame[new_column]=NewSeries2.DataFrame数据变更(2)添加——添加列②insert函数insert函数用来在指定的column位置插入新的列,语法规则如下:

DataFrame.insert(loc:int,column:Hashable,value:Scalar|AnyArrayLike,allow_duplicates:bool|lib.NoDefault=lib.no_default)->None2.DataFrame数据变更运行结果:新建索引添加列:

onetwothreenewa1230.333333b4560.666667c7890.777778d1011120.833333insert函数添加列:

idonetwothreenewa11230.333333b14560.666667c17890.777778d11011120.833333示例:使用insert函数向DataFrame插入列。代码:df=pd.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],

index=['a','b','c','d'],

columns=['one','two','three'])

df['new']=df['one']/df['three']

print('新建索引添加列:\n%s'%df)

df.insert(loc=0,column='id',value=1)

print('insert函数添加列:\n%s'%df)2.DataFrame数据变更(2)添加——添加行DataFrame._append(other,ignore_index:bool=False,verify_integrity:bool=False,sort:bool=False)->DataFrame将other对应的DataFrame对象添加到最后一行后面,默认不忽略添加对象的index、不进行验证完整性、不排序。返回一个新的DataFrame对象,原始数据不发生变化。2.DataFrame数据变更(3)删除删除某列或某行数据需要用到Pandas提供的drop函数,drop函数的用法如下:DataFrame.drop(labels:IndexLabel=None,*,axis:Axis=0,index:IndexLabel=None,columns:IndexLabel=None,level:Level=None,inplace:bool=False,errors:IgnoreRaise="raise")->DataFrame|None2.DataFrame数据变更运行结果:删除列two后的数据为:

onethreea13b46c79d1012删除a、c行后的数据为:

onethreeb46d1012示例:使用drop函数删除DataFrame行或列。代码:df=pd.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],

index=['a','b','c','d'],

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论