2003031120—廖威—Python数据分析第七周作业—MySQL的安装以及使用
| 项目 | 内容 |
| 课程班级博客链接 | https://edu.cnblogs.com/campus/pexy/20sj |
| 这个作业要求链接 | https://edu.cnblogs.com/campus/pexy/20sj/homework/12597 |
| 博客名称 | 2003031120—廖威—Python数据分析第七周作业—MySQL的安装以及使用 |
| 要求 | 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果) |
题目一:扩展阅读心得体会
1.扩展阅读:小白必看!超详细MySQL下载安装教程
2.扩展阅读:MySQL教程
3.扩展阅读:MySQL卸载
题目二:
1.安装好MySQL,连接上Navicat。
2.完成课本练习(代码4-1~3/4-9~31)。
from sqlalchemy import create_engine
#创建一个MYSQL连接器,用户名为root,密码为111
#地址为127.0.0.1,数据库名称为testdb,编码为UTF-8
engine = create_engine('mysql+pymysql://root:111@127.0.0.1:3306/testdb?charset=utf8')
print(engine) import pandas as pd
#使用read_sql_query查看testdb中的数据表数目
formlist = pd.read_sql_query('show tables',con = engine)
print('testdb数据库数据表清单为:','\n',formlist) #使用read_sql_table读取订单详情表
detail1 = pd.read_sql_table('meal_order_detail1',con = engine)
print('使用read_sql_table读取订单详情表的长度为:',len(detail1)) #使用read_sql读取订单详情表
detail2 = pd.read_sql('select * from meal_order_detail2',con = engine)
print('使用read_sql函数+SQL语句读取的订单详情表长度为:',len(detail2))
detail3 = pd.read_sql('meal_order_detail3',con = engine)
print('使用read_sql函数+表格名称读取的订单详情表的长度为:',len(detail3)) #使用to_sql存储orderData
detail1.to_sql('test1',con = engine,index = False,if_exists = 'replace')
#使用read_sql读取test表
formlist1 = pd.read_sql_query('show tables',con = engine)
print('新增一个表格后,testdb数据库数据表清单为:','\n',formlist1)
#导入SQLAIchemy库的creat_engine函数
from sqlalchemy import create_engine
import pandas as pd
#创建一个MYSQL连接器,用户名为root,密码为111
#地址为127.0.0.1,数据库名称为testdb
engine = create_engine('mysql+pymysql://root:111@127.0.0.1:3306/testdb?charset=utf8')
#使用read_sql_table读取订单详情表
order1 = pd.read_sql_table('meal_order_detail1',con = engine)
print('订单详情表1的长度为:',len(order1))
order2 = pd.read_sql_table('meal_order_detail2',con = engine)
print('订单详情表2的长度为:',len(order2))
order3 = pd.read_sql_table('meal_order_detail3',con = engine)
print('订单详情表3的长度为:',len(order3)) #使用read_table读取订单信息表
orderInfo = pd.read_table('D:/Users/ASUS/Desktop/meal_order_info.csv',sep = ',',encoding = 'gbk')
print('订单信息表长度为:',len(orderInfo)) #读取users.xlsx文件
userInfo = pd.read_excel('D:/Users/ASUS/Desktop/users.xlsx')
print('客户信息表长度为:',len(userInfo)) from sqlalchemy import create_engine
import pandas as pd
engine = create_engine('mysql+pymysql://root:111@127.0.0.1:3306/testdb?charset=utf8')#创建数据库连接
detail= pd.read_sql_table('meal_order_detail1',con = engine)
print('订单详情表的索引为:',detail.index) print('订单详情表的所有值为:','\n',detail.values) print('订单详情表的列名为:','\n',detail.columns) print('订单详情表的数据类型为:','\n',detail.dtypes) #查看DataFrame的元素个数
print('订单详情表的元素个数为:',detail.size)
print('订单详情表的维度数为:',detail.ndim) #查看DataFrame的维度数
print('订单详情表的形状为:',detail.shape) #查看Dataframe的形状 print('订单详情表转置前形状为:',detail.shape)
print('订单详情表转置后形状为:',detail.T.shape) #使用字典访问的方式取出orderInfo中的某一列
order_id = detail['order_id']
print('订单详情表中的order_id的形状为:','/n',order_id.shape) #使用访问属性的方式取出orderInfo中的菜品名称列
dishes_name = detail.dishes_name
print('订单详情表中的dishes_name的形状为:',dishes_name.shape) dishes_name5 = detail['dishes_name'][:5]
print('订单详情表中的dishes_name前5个元素为:','\n',dishes_name5) orderDish = detail[['order_id','dishes_name']][:5]
print('订单详情表中的order_id和dishes_name前5个元素为:','\n',orderDish) order5 = detail[:][:6]
print('订单详情表的1~6行元素为:','\n',order5) print('订单详情表中前5行数据为:','\n',detail.head())
print('订单详情表中后5行数据为:','\n',detail.tail()) dishes_namel = detail.loc[:,'dishes_name']
print('使用loc提取dishes_name列的size为:',dishes_namel.size)
dishes_name2 = detail.iloc[:,3]
print('使用iloc提取第3列的size为:',dishes_name2.size) orderDish1 = detail.loc[:,['order_id','dishes_name']]
print('使用loc提取order_id和dishes_name列的size为:',orderDish1.size)
orderDish2 = detail.iloc[:,[1,3]]
print('使用iloc提取第1和第3列的size为:',orderDish2.size) print('列名为order_id和dishes_name的行名为3的数据为:\n',detail.loc[3,['order_id','dishes_name']])
print('列名为order_id和dishes_name行名为2,3,4,5,6的数据为:\n',detail.loc[2:6,['order_id','dishes_name']])
print('列位置为1和3,行位置为3的数据为:\n',detail.iloc[3,[1,3]])
print('列位置为1和3,行位置为2,3,4,5,6的数据为:\n',detail.iloc[2:7,[1,3]]) #loc内部传入表达式
print('detail中order_id为458的dishes_name为:\n',detail.loc[detail['order_id']=='458',['order_id','dishes_name']])
#print('detail中order_id为458的第1、5列数据为:\n',detail.iloc[detail['order_id']=='458',[1,5]])#返回的为一个布尔值Series,而iloc可以接收的数据类型并不包括Series print('detail中order_id为458的第1、5列数据位:\n',detail.iloc[(detail['order_id']=='458').values,[1,5]]) print('列名为dishes_name行名为2,3,4,5,6的数据为:\n',detail.loc[2:6,'dishes_name'])
print('列位置为5,行位置为2~6的数据为:\n',detail.iloc[2:6,5])
#print('列位置为5,行位置为2~6的数据为:', '\n',detail.ix[2:6,5])在pandas的1.0.0版本开始,移除了Series.ix and DataFrame.ix 方法。使用DataFrame的loc方法或者iloc方法进行替换吧。 #将order_id为458的变换45800
detail.loc[detail['order_id']=='458','order_id'] = '45800'
print('更改后detail中order_id为458的order_id为:\n',detail.loc[detail['order_id']=='458','order_id'])
print('更改后detail中order_id为45800的order_id为:\n',detail.loc[detail['order_id']=='45800','order_id']) detail['payment'] = detail['counts']*detail['amounts']
print('detail新增列payment的前5行为:','\n',detail['payment'].head()) detail['pay_way'] = '现金支付'
print('detail新增列pay_way的前5行为:','\n',detail['pay_way'].head()) print('删除pay_way前detail的列索引为:','\n',detail.columns)
detail.drop(labels = 'pay_way',axis = 1,inplace = True)
print('删除pay_way后detail的列索引为:','\n',detail.columns) print('删除1~10行前detail的长度为:',len(detail))
detail.drop(labels = range(1,11),axis = 0,inplace = True)
print('删除1~10行detail的长度为:',len(detail))
运行结果














2003031120—廖威—Python数据分析第七周作业—MySQL的安装以及使用的更多相关文章
- 2003031121——浦娟——Python数据分析第七周作业——MySQL的安装及使用
项目 要求 课程班级博客链接 20级数据班(本) 作业要求链接 Python第七周作业 博客名称 2003031121--浦娟--Python数据分析第七周作业--MySQL的安装及使用 要求 每道题 ...
- 2003031121-浦娟-python数据分析第三周作业-第一次作业
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 https://edu.cnblogs.com/campus/pexy/20s ...
- 2017-2018-1 我爱学Java 第六七周 作业
团队六七周作业 完善版需求规格说明书 制定团队编码规范 数据库设计 后端架构设计 TODOList 参考资料 完善版需求规格说明书 <需求规格说明书>初稿不足之处: 1.开发工具写错 2. ...
- 2018-2019-1 20189221 《Linux内核原理与分析》第七周作业
2018-2019-1 20189221 <Linux内核原理与分析>第七周作业 实验六 分析Linux内核创建一个新进程的过程 代码分析 task_struct: struct task ...
- 2017-2018-1 JAVA实验站 第六、七周作业
2017-2018-1 JAVA实验站 第六.七周作业 详情请见团队博客
- 2017-2018-1 JaWorld 第六、七周作业
2017-2018-1 JaWorld 第六.七周作业 修改需求规格说明书 上次的<需求规格说明书>初稿有哪些不足? 王译潇同学回答: 1. 引言和目的性考虑的不是很周全. 2. ...
- 2017-2018-1 20179205《Linux内核原理与设计》第七周作业
<Linux内核原理与设计>第七周作业 视频学习及操作分析 创建一个新进程在内核中的执行过程 fork.vfork和clone三个系统调用都可以创建一个新进程,而且都是通过调用do_for ...
- 2019-2020-1 20199325《Linux内核原理与分析》第七周作业
第七周作业 1.进程描述符task_struct数据结构(一) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct数据结构很 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第七周作业
<Linux内核原理与分析>第七周作业 一.本周内容概述: 对Linux系统如何创建一个新进程进行追踪 分析Linux内核创建一个新进程的过程 二.本周学习内容: 1.学习进程的描述 操作 ...
- 2020-2021-1 20209307《Linux内核原理与分析》第七周作业
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第七周作业> 这个作业的目标 & ...
随机推荐
- 【python】读写文件
1.打开文件与文件模式 1.1 文件模式 (1) 'r':读取模式(默认文件模式,显式指定读取模式的效果和不指定模式相同); (2) 'w':写入模式(如果写入时,文件不存在,会创建文件); 注1:其 ...
- 【RUNOOB】C语言学习之指针
资料来源: (1) runoob; (2) C语言程序设计; 注1:Runoob中对于指针的讲述比较清晰简单,摘录出来(后续补充指针与结构体,指针与函数参数); 1.指针与变量的内存位置 (1) 每个 ...
- Prettier 与 ESLint 对函数名后空格的处理
问题 Prettier 格式化 JavaScript 代码之后,默认不会在函数与 () 添加空格,而 ESLint 默认情况下则要求函数与 () 之间必须有一个空格. 保留空格的方案配置 方案 1 在 ...
- VM-tools灰色无法安装
VM-tools灰色无法安装 选择"使用物理驱动器-自动检测". 参考链接: [1] https://www.jianshu.com/p/af4313d92fee
- Flink Application Development DataStream API Execution Mode (Batch/Streaming)- Flink应用程序开发DataStream API执行模式(批/流)
目录 什么时候可以/应该使用BATCH执行模式? 配置BATCH执行模式 执行行为 任务调度和网络随机shuffle 流执行模式 批处理执行模式 状态后端/状态 处理顺序 Event Time/水印( ...
- 运用python中装饰器方法来解决工作中为原有代码添加功能问题
Python 装饰器 在实际的工作中,经常碰到领导或产品经理会提出很多甚至(变态)的产品要求,作为python开发,好不容易完成领导的需求,做出一个产品,并且经过测试成功上线.突然有一天 ...
- Kubernetes基础配置管理
一.ConfigMap创建 1-1.基于目录创建ConfigMap 首先创建一个configmap/conf存储目录,分别建立.conf文件 mkdir /configmap/conf #创建.con ...
- 打卡node day05 mongodb
1.安装 [官网]https://www.mongodb.com/download-center/community?jmp=nav 配置环境变量 配置完环境变量坚持是否成功 在所在位置新建文件夹 启 ...
- 利用python中的win32com模块操作Word、Excel文件
word操作 doc文件转换为docx文件 安装win32com模块:pip3 install pypiwin32 import os from win32com.client import Disp ...
- [jQuery]z-index属性大于0的元素使用fadeIn无法正常过渡的问题
rt 问题记录. 尝试使用$(' ').animate({ opacity: 1 }) 会出现相同的问题. 可能是opacity动画与z-index无法兼容(?) 最后的处理方式是改变元素渲染顺 ...