《数据采集与预处理》教学教案—10用Pandas进行数据预处理_第1页
《数据采集与预处理》教学教案—10用Pandas进行数据预处理_第2页
《数据采集与预处理》教学教案—10用Pandas进行数据预处理_第3页
《数据采集与预处理》教学教案—10用Pandas进行数据预处理_第4页
全文预览已结束

下载本文档

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

文档简介

1、数据采集与预处理教 案NO. 10教师姓名授课班级授课形式理实一体化授课时间年 月 日第周授课时数4授课章节名称任务3用Pandas进行数据预处理教学目的(1)熟悉Pandas的相关基础知识。(2)学会使用Pandas完成“北京公交线路信息”数据的预处理。教材分析教学重点使用Pandas完成“北京公交线路信息”数据的预处理教学难点使用Pandas完成“北京公交线路信息”数据的预处理更新、补充、删节内容课外作业积极动手实践, 熟练完成相关任务的实施操作教学提示教学过程一、知识痛*:无论是对于数据分析还是数据挖掘而言,Pandas都是一个非常重要的 Python包c它不仅提供了很多方法,使数据处理

2、非游简单,还在数据处理 速度上做了很多优化,使得其和Python内近方法相比有很大的优势。1 .导入数据pd.read_csv(filename):从 CSV 文件中导入数据opd.read_table(filename):从限定分隔符的文本文件中导入数据。pd.read_excel(filename):从 Excel 文件中导入数据。pd.read_sql(query, connection_object):从 SQL 表/库中导入数据。pd.read_json(json_string):从JSON格式的字符串中导入数据。pd.readitml(url):解析URL、字符串或HTML文件,抽

3、取其中的tables。 pd.read_clipboard():从粘贴板中获取内容,并传送给read_table()o pd.DataFrame(dict):从字典对顼中导入数据,Key表示列名,Value 表示数据2 .导出数据df.to_csv(filename):导出数据到CSV文件中。df.to_excel(filename):导出数据到 Excel 文件中。df.to_sql(table_name, connection_object):导出数据到 SQL 表中。df.tojson(filename):以JSON格式导出数据到文本文件中。3 .创戏测试对象pd.DataFrame(n

4、p.random.rand(20,5):创4 20 行 5 列的、由随机数组 成的DataFrame对象。pd.Series(myist):从可迭代对顼 myjist中创建一个Series对顼。df.index = pd.date_range('1900/1/30', periods = df.shape0):增加一个日 期索弓I。4 .查看、检查数据df.head(n):查看DataFrame对景的前n彳亍。df.tail(n):查看DataFrame对项的最后彳亍。df.shape():查看彳亍数和列数g():查看索引、数据类型和内存信息gdf.d

5、escribe():查看数值型列的汇总统计。5 .vakie_counts(dropna=False):查看 Series 对象的唯一值和计数。df.apply(pd.Series.value_counts):查看 DataFrame 对顼中每一列的唯 一值和计数G5 .数据选取dfcol:根据列名,以Series的形式返回列。dfcoll, col2:以 DataFrame 的形式返回多列。5.110 c0:按位五选取数据。5.111 findex-one*:按索引选取数据°df.iloc0,:返回第一行。df.iloc0.0:返回第一列的第一个元素。6 .数据清理df.cokim

6、ns = aW/c1:重命名列名。pd.isnull():检查DataFrame对顼中的空值.并返回一个Boolean数组。pd.notnullO:检查 DataFrame对冢中的非空值.并返回一个 Boolean 数组。df.dropna():删除所有包含空值的行。df.dropna(axis=l):删除所有包含空值的列。df.dropna(axis=Lthresh=n):保钳至少有n个非空值的行。df.fillna(x):用x替换DataFrame对琼中的所有空值。s.astype(float):将Series中的数据类型更改为float类型0s.replaceCl/one1):用'

7、;one'代替所有等于1的值。s.replace(l,3,'one','three'):用'one'代替 1,用'three'代替 3。 df.rename(columns=lambda x: x + 1):批处更改列名。df.rename(cokimns=,old_name,: ,new_name,):选择性更改列名。df.set_index( column-one1):更改索弓I列。df.rename(index=lambda x: x + 1):批势里命名索弓I。7 .数据处理dfdfcol > 0.5:选择c

8、ol列的值大于0.5的彳亍。df.sort-ValuesCcoll):按照coll列排序数据.默认升序排列。df.sort-vakies(col 1, ascending=False):按照 coll 列降序排列数据, df.sort-vakiesdcol 1 ,co12, ascending=True,False):先按 coll 列升序排 列数据,再按col2列降序排列数据。df.groupby(col):返回一个按col列进彳亍分组的GroupBy对顼。df.groupby(col 1 ,col2):返回一个按多列进行分组的GroupBy对象。df.groupby(coll)co!2:返

9、回按coll列进彳亍分组后,col2列的均值。df.pivot_table(index=col 1, values=coI2,col3, aggfunc=max):创延一个 按coll列进行分组. 并计算col2和coI3的最大值的数据透视表。df.groupby(col 1 ).agg(np.mean):返回按coll列分组的所有列的均值: data.apply(np.mean):对 DataFrame 中的每一列应用 函数 np.meano data.apply(np.max,axis=l) DataFrame 中的每一行应用函数 np.maxo 8.数据合并dfl.append(df2)

10、:将df2中的行添加到dfl的尾部。df.concat(dfl, df2,axis=l):将 df2 中的列添加到 dfl 的尾部°df 1 .join(df2,on=col 1 ,how='innef):对 dfl 列和 df2 列执行 SQL 形式的连 接G9 .数据统计df.describe():查看数据值列的汇总统计。df.mean():返回所有列的均值0df.corr():返回列与列之间的相关系数。df.count():返回每一列中的非空值的个数。df.max():返回每一列的最大值0df.niin():返回每一列的原小值。df.median():返回每一列的中位数

11、。df.std():返回每一列的标准差。二.任务实施:1 .创建数据文件创戏pandas_info.py文件,并将其导入Pandas库2 .读取数据文件图4-6所示为使用Pandas的read_csv()方法读取CSV格式的文件,其 中,delimiter参数指定了数据文件的分隔符,encoding参数指定了数据文 件的编码,names参数指定了数据的列索弓I。 - pd. reacLcsrlielimi. encoding1佳彳'图4-6读取数据文件3 .对数据进行去更及去空处理如图4-7所示,Pandas的drop_duplicates()方法用于去除数据中的重复 项,reset_index()方法用于还原索弓I为默认的整型索弓I (使用此方法的原 因是.前面的去里或去空会清洗掉一些数据,但数据的索弓I仍然被保钳着, 导致那一行数据为空,会影响清洗撵作),drop。方法用于删除数据中名为 index的一列(axis=l为列,默认为行),dropna。方法用于去除数据中含 有任意空数据的一行数据。bus_mfo2 = bus_info. drop_duplicat

温馨提示

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

评论

0/150

提交评论