(共23张PPT)
3.2.2 数据整理
3.2.2 数据整理
@
导入
上节课我们已经知道怎么利用网络爬虫采集网上的数据了,本节课是对所采集的数据做进一步整理。
首先我们回顾一下网络爬虫的使用。思考:我们得到的数据怎么使用?是直接使用还是加工后使用?
3.2.2 数据整理
@
数据整理
1.数据整理含义及基本保存格式
2.pandas简介与安装
3.pandas实例操作
4.数据保存方式
数据整理含义及基本保存格式
3.2.2 数据整理
@
数据整理含义
数据整理的目的是对数据进行校验和标准化。采集到的数据可能是非标准化的、不完整或重复的。通常,将这样的数据形象地称作“脏数据”。而用于分析的数据必须保证数据质量,即保证数据的完整性、统一性和准确性。完整性是指数据不能有缺失,统一性要求数据符合统一的标准,准确性即数据不能有错误。
数据整理就是通过去重、补漏和勘误等方法,删除重复数据、补全缺失数据和校正错误数据,并对数据进行统一性和标准化处理,以确保数据是相关和准确的,从而将“脏数据”变为“清洁数据”。
3.2.2 数据整理
@
数据整理基本保存格式
采集到的数据通常保存为文本文件、CSV 文件、Excel 文件或其他类型的文件。其中,CSV 文件将数据表格存储为纯文本,每一行代表一条数据,每条数据包含了一个或由逗号分隔的多个值。
pandas简介与安装
3.2.2 数据整理
@
pandas简介
pandas 是Python的一个数据分析库。
pandas最初是被作为金融数据分析工具而开发出来的,它提供了许多高效易用的数据分析工具和适合科学计算的数据结构,使得处理更加简洁,同时在处理速度上也做了不少优化。
调用pandas库可实现数据查找、删除、排序和索引等功能。
3.2.2 数据整理
@
Series:
一维数组,与Numpy中的一维数组类似,与Python中的基本数据结构list也很相近。它能保存不同数据类型的数据,包括字符串、布尔值和数字等。
TimeSeries:
以时间为索引的Series。
DataFrame:
二维表格型数据结构,可以将DataFrame理解为Series的容器。
Panel :
三维数组,可以理解为DataFrame的容器。
pandas数据结构
3.2.2 数据整理
@
DataFrame数据结构
本课主要是针对DataFrame数据结构的学习与使用。
DataFrame是Python的pandas库中的一种数据结构,它类似Excel,是一种二维表。DataFrame的单元格可以存放数值、字符串等,这和Excel表很像。同时,DataFrame可以设置列名columns与行名index,可以通过位置获取数据,也可以通过列名和行名定位。
3.2.2 数据整理
@
打开PyCharm。
1.点击右上角 file/settings。
2.在弹出界面选择project/project interpreter。
pandas安装
3.2.2 数据整理
@
3.点击右上方“+”进入搜索第三方库的界面。
pandas安装
3.2.2 数据整理
@
4.在搜索框中搜索“pandas”,点击左下方“Install package”即可进行安装。如果安装完成,该库显示字体颜色会变成蓝色,并且在上一个界面列出已安装的库。
pandas安装
pandas处理数据
3.2.2 数据整理
@
pandas处理数据
整理数据可以使用现成的软件或平台,也可以通过编写程序实现。Python语言丰富的标准模块和扩展库提供了许多高效灵活的函数,可以帮助我们较好地进行数据整理。
3.2.2 数据整理
@
检测用水量为负值的数据
程序示例
# 导入pandas模块并设置别名为pd
import pandas as pd
# 用pandas模块中的read_csv函数打开数据文件,指定文件的文字编码方式,指定包含列标题
df = pd.read_csv('yongshui.csv', encoding='gb2312', header=1)
# 按年份生成数据序列
for i in range(3, len(df.columns)): # 产生年份序列
current_col = df.columns[i] # 指定当前列
display_cols = ['地区', current_col] # 最终显示的列
# 查找符合条件的行
error_data = df.loc[df[current_col] <0, display_cols]
# 通过shape函数获得行数和列数,列数对本程序无用,使用 Python 约定的“_”变量忽略
error_rows_count, _ = error_data.shape
# 按年份选择符合条件的行,并显示
if error_rows_count > 0:
print(error_data,'数据异常,请核对!')
print('\n')
3.2.2 数据整理
@
删除用水量重复值
程序示例
# 导入pandas模块并设置别名为pd
import pandas as pd
# 用pandas模块中的read_csv函数打开数据文件,指定文件的文字编码方式,指定包含列标题
df = pd.DataFrame(pd.read_csv('yongshui.csv', encoding='gb2312', header=1))
df1=df.drop_duplicates()
df1.to_csv('yongshuigai.csv', encoding='gb2312')
df2=pd.read_csv('yongshuigai.csv', encoding='gb2312')
print(df2)
3.2.2 数据整理
@
技术支持——DataFrame创建
程序示例
import pandas as pd
# 初始化数据
values = [[37.49, 38.2, 38.8], [24.09, 25.7, 27.2], [192.82, 187.2, 182.6]]
# 初始化行标签
areas = [“北京”,“天津”,“河北”]
# 初始化列标签
years = [“2014”,“2015”,“2016”]
# 构建名为df的DataFrame
df = pd.DataFrame(values, areas, years)
# 输出df
print(df)
# 通过行列标签选择df中的一个值并输出
print(“北京2015年用水量:”, df.loc[“北京”,“2015”])
3.2.2 数据整理
@
问题思考
除了调用pandas进行数据处理以外,我们还可以利用什么工具完成这一任务?有什么不同?哪种更方便?
整理后数据储存
3.2.2 数据整理
@
整理后数据储存
为了更好地使用数据,整理后的数据可存储在本地或云存储空间。云存储是一种新兴的网络存储技术,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和访问功能。使用者可通过联网设备连接到云存储空间方便地存取数据。
谢谢观看
Thanks for watching