版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据采集与预处理技术*
*项目二图书信息数据采集与预处理序号软件配置要求1scrapy最新版本2redis最新版本一、项目目标:1、完成图书信息数据分布式采集环境安装配置;2、完成图书信息数据采集程序设计和数据采集;3、完成图书信息数据预处理清洗。4、完成图书信息数据文本标注。二、环境要求:任务二图书信息数据预处理一、任务目标1、理解常见的数据清洗方法和原理,根据模型训练要求,完成图书信息数据的缺失值、异常值和重复值处理。2、理解描述性变量转换为数值型数据的方法和用处,并完成图书信息数据的描述性变量转换。3、掌握数据标准化方法,了解文本数据训练集、测试集划分,完成图书信息数据的标准化和测试集划分。二、Pandas库1、简介:Pandas是一个基于Python的开源库,是处理结构化数据最常用的Python库,专门用于数据操作与分析。2、安装:#安装Pandaspipinstallpandas#或者通过conda安装(如果你使用Anaconda环境)condainstallpandas3、pandas的Series创建importpandasaspd #pandas导入s=pd.Series([1,3,5,7,9]) #方法一:通过列表创建s=pd.Series({'a':1,'b':3,'c':5}) #方法二:通过字典创建s=pd.Series(10,index=['a','b','c']) #方法三:通过标量创建(广播值)importnumpyasnp #方法四:通过NumPy数组创建s=pd.Series(np.random.randn(5),index=['a','b','c','d','e']) 4、pandas的Series操作——“增删改查统计”#通过标签选择数据,选择索引位置是“a”的数据print(s['a'])#通过位置选择数据,选择第0个位置的数据print(s[0])#多标签选择,选择索引位置是“a”和“c”的数据print(s[['a','c']])#布尔条件筛选,选择s中大于0的数据print(s[s>0])#修改标签“a”对应的数据值为100s['a']=100print(s.sum())#计算和print(s.mean())#计算均值print(s.min())#计算最小值5、pandas的dataframe#通过字典创建data={'Name':['Alice','Bob','Charlie'],'Age':[25,30,35],'City':['NewYork','LosAngeles','Chicago']}df=pd.DataFrame(data)#通过列表创建df=pd.DataFrame([['Alice',25,'NewYork'],['Bob',30,'LosAngeles'],['Charlie',35,'Chicago']],columns=['Name','Age','City'])#通过NumPy数组创建df=pd.DataFrame(numpy.random.randn(5,3),columns=['A','B','C'])6、pandas的dataframe操作print(df['Name']) #选择“Name”单列print(df[['Name','Age']]) #选择“Name”“Age”两列print(df.loc[0]) #选择第一行print(df.loc[0,'Name']) #选择第一行的"Name"列print(df.iloc[0]) #选择第一行print(df.iloc[0,1]) #选择第一行的第二列print(df[df['Age']>30]) #筛选年龄大于30的行df['Age']=df['Age']+1 #修改已有列,“age”列的值都加1df=df.drop('Salary',axis=1) #删除Salary列。axis默认是0,表示行三、数据读取1、安装数据库连接库pipinstallmysql-connector2、读数据库并创建pandas的dataframeimportmysql.connectorimportpandasaspd#创建数据库连接conn=mysql.connector.connect(host="localhost",user="your_username",password="your_password",database="your_database")#使用SQL查询读取数据query="SELECT*FROMmy_table"df=pd.read_sql(query,conn)#关闭连接conn.close()可以使用6,root,Lzc02m*nd试用。测试云服务器,请大家注意避免非法操作。pandas.read_sql(sql,con,index_col=None,coerce_float=True,columns=None)方法可以通过SQL查询读取数据,并将其直接转换为DataFrame对象。它的常用参数有:sql:接收string类型,可以是需要执行的SQL查询语句,或者是数据库表名称。con:数据库连接对象。index_col:可选,指定将某列作为索引。params:可选,参数化SQL查询。coerce_float:可选,默认True,将字符串转换为浮点数。例如,带有参数化查询的代码示例如下:query="SELECT*FROMmy_tableWHEREcolumn_name=%s"df=pd.read_sql(query,conn,params=['value'])conn.close()
3、存数据到数据库#table_name是数据库表名,conn是数据库连接对象#if_exist表示表已存在时的行为,replace(替换表),append(追加数据),fail(引发错误)#index是否将DataFrame的索引写入表中。df.to_sql(table_name,conn,if_exists='replace',index=False)4、SQLAlchemy连接数据库在使用Python的SQLAlchemy时,MySQL和Oracle数据库连接字符串的格式如下
数据库产品名+连接工具名://用户名:密码@数据库IP地址:数据库端口号/数据库名称?charset=数据库数据编码。importpymysqlfromsqlalchemyimportcreate_engine,text#存入数据库,注意表字段,用户root,密码P@ssw0rd,数据库名eshop,根据实际替换engine=create_engine('mysql+pymysql://root:P@ssw0rd@:3306/eshop')df.to_sql('table_name',engine) #df存入到表orders_newsql='select*fromorders_newlimit10'df=pd.DataFrame(engine.connect().execute(text(sql))) #读取表数据,并初始化df5、文件读写数据df=pandas.read_csv('data.csv') #读取CSV文件df=pandas.read_excel('data.xlsx',sheet_name='Sheet1') #读取Excel文件df=pandas.read_json('data.json') #读取JSON文件#写入CSV文件output.csvdf.to_csv('output.csv',index=False) #设置index=False索引不会写入文件#写入JSON文件output.json,records表示每行作为一个记录df.to_json('output.json',orient='records')#写入Excel文件output.xlsx,工作簿名是Sheet1df.to_excel('output.xlsx',sheet_name='Sheet1',index=False)6、数据查看df.head() #head()用于显示DataFrame的前几行数据显示,默认前5行数据() #查看各字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常州市溧阳中学高三地理一轮复习东北农业作业
- 2025年高职化工装备技术(化工设备维护)试题及答案
- 2025年中职生命科学(生命现象基础)试题及答案
- 2025年高职审计(审计实务)试题及答案
- 2025年高职(电力工程及自动化基础)电力系统运维阶段测试题及答案
- 2025年中职婴幼儿早期指导(感官发育训练)试题及答案
- 大学(工程管理)项目进度控制2026年综合测试题及答案
- 2025年高职动物医学(动物疫病防治)试题及答案
- 2025年高职皮革制品设计与工艺(皮具设计技术)试题及答案
- 2025年中职林业病虫害防治(林业病虫害防治)试题及答案
- 提高晨间护理合格率
- 廉洁校园主题班会课件
- 房颤患者非心脏手术麻醉管理
- 具有履行合同所必须的设备和专业技术能力的声明函8篇
- 2025年中国高油玉米数据监测报告
- 洗车设备管理制度
- GB/Z 15166.8-2025高压交流熔断器第8部分:应用导则
- DB43T1027-2015 近自然森林可持续经营技术规程
- 二零二五年度绿色生态住宅小区建设工程合同协议
- 2025-2030全球膜处理系统行业调研及趋势分析报告
- 《以平和的心态迎接期末考试》班会课件
评论
0/150
提交评论