数据仓库与数据挖掘(实验一2024.4.24)

实验准备:

1.下载conda

2.配置环境C:\ProgramData\miniconda3\Scripts

3.创建文件夹panda进入虚拟环境qq

激活虚拟环境:activate qq

启动jupyter lab(python语言环境编译):jupyter lab

4.panda下载

(1)官网panda下载:pandas - Python Data Analysis Library (pydata.org)

(2)虚拟环境的panda下载

一、panda练习1(电影数据库查询)

#导入panda,以pd为简写
import pandas as pd

#读取文件 
pd.read_csv('movies.csv')

1.简单的数据查询

描述:该部分基本为对DataFrame进行的操作,并没有修改csv文件中的内容


常用方法:head、tail、len()、shape(行列)、size、dypes、iloc[](查看第几条数据) 、loc[](获取数据详细信息)、sort_values(by=[' ' , ' ']).head()、sort_index()_head()

注:ascending = False(对于数据进行降序排列的参数设置)

# 创建DataFrame对象movies,设置
movies = pd.read_csv('movies.csv', index_col='Title')

# 查看前4行数据
movies.head(4)

# 查看最后6行数据
movies.tail(6)

# 查询总共有多少条数据
len(movies)

# 通过panda的DataFrame获取数据的形状:行数、列数
movies.shape

# 查询一共有多少个单元格(cell)
movies.size

# 验证
# 一共782行数据,每行有4个属性,除了作为index的Title
782 * 4

# 查询每一列的数据类型
movies.dtypes

# 查看第500条数据
movies.iloc[499]

# 通过 index label 获取 DataFrame 中的数据
# 现在的 index 是 Title(《阿甘正传》)
movies.loc['Forrest Gump']

# 通过index label可以检索出具有相同index label的数据记录
# 但是,通常尽量让每条数据的index label是唯一的,
# 这样可以加速数据定位
movies.loc['101 Dalmatians']

# 对DataFrame中的数据按照year以降序方式重新排序
# head()用来现实前5条数据
movies.sort_values(by='Year', ascending=False).head()

# 根据多个列的值进行排序
# 默认按照升序排序
movies.sort_values(by=['Studio', 'Year']).head()

# 按照index进行排序
movies.sort_index().head()

 2.实际应用

# 找出哪家电影公司拥有最多最高票房的电影
# 使用Series:只有一列数据
# pandas在Series中保留DataFrame的索引
# 由于数据太多,默认只显示前5条和后5条数据
# Studio制片厂
movies['Studio']

# 统计每个Studio出现的次数,并显示排在前10的Studio
# 返回值为Series对象
movies['Studio'].value_counts().head(10)

# 通过规则过滤数据
# 找出 Universal Studio 发行的电影
movies[movies['Studio'] == 'Universal']

# 通过变量保存过滤规则
released_by_unviersal = (movies['Studio'] == 'Universal')
movies[released_by_unviersal].head()

# 通过多个条件过滤DataFrame中的行数据
# 找出2015年Universal Studio发行(released)的电影的各项数据
# released_by_universal(由环球发行)
released_by_unviersal = movies['Studio'] == 'Universal'
released_in_2015 = movies['Year'] == 2015
movies[released_by_unviersal & released_in_2015]

# 通过多个条件过滤DataFrame中的行数据
# 找出在2015发行或者是Universal Studio发行的电影的各项数据
released_by_unviersal = movies['Studio'] == 'Universal'
released_in_2015 = movies['Year'] == 2015
movies[released_by_unviersal | released_in_2015]

# 过滤出满足指定范围的数据
# 找出1975年之前发行的电影
before_1975 = movies['Year'] < 1975
movies[before_1975]

# 指定某个值的范围
mid_80s = movies['Year'].between(1983, 1986)
movies[mid_80s]

# 使用DataFrame的index进行过滤
# 找出所有在名字中包含 dark 的电影
# 将所有的title先转换为小写
has_dark_in_title = movies.index.str.lower().str.contains('dark')
movies[has_dark_in_title]

# grouping data
# 找出在所有电影中,哪个Studio的总收入最高
# pandas在导入数据时,包含了$和逗号,先把他们去掉
movies['Gross'].str.replace('$', '', regex=False).str.replace(',', '', regex=False)

# 再把文本类型的Gross转换为数字类型
movies['Gross'] = movies['Gross'].str.replace('$', '', regex=False).str.replace(',', '', regex=False).astype(float)

# 计算平均票房收入
movies['Gross'].mean()

# 计算每个电影制片厂的总票房
# groupby
studios = movies.groupby('Studio')

# 统计每个每个Studio发行了几步电影
studios['Gross'].count().head()
# 默认按照字母顺序排序

# 改为按照发行的电影数量降序排序
studios['Gross'].count().sort_values(ascending=False).head()

# 计算每个Studio发行电影的总票房
studios['Gross'].sum().head()
# 默认按照Studio的字母顺序排序

# 按照总票房顺序排序
studios['Gross'].sum().sort_values(ascending=False).head()

二、panda练习2(待续。。。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/570696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C 语言实例 - 数值比较

比较两个数 以下实例中定义了两个整数变量&#xff0c;并使用 if 来比较两个数值&#xff0c;可以先看下逻辑图&#xff1a; #include <stdio.h>int main() {int a, b;a 11;b 99;// 也可以通过以下代码实现让用户在终端输入两个数// printf("输入第一个值:&quo…

VS2022配置和搭建QT

一、下载QT 可以去QT官网下载:https://www.qt.io/product/development-tools。 直接安装。 二、安装qt插件 直接在vs插件市场搜索就行。 安装的时候根据提示&#xff0c;关闭vs自动安装 再次进去vs提示你选择qt版本&#xff0c;psth里边找到安装版本的qmake.exe就行 配…

如何让一个大几千页的打开巨慢的 PDF 秒开

生成 PDF 的方法&#xff0c;无论软件还是纯命令的都有很多种&#xff0c;排除计算机性能的因素&#xff0c;并不是所有的方法生成几千页的 PDF 都能丝滑到秒开。 示例 PDF 文档 6 千多页 打开要等一会儿&#xff0c;再等一会儿…… 解决方法 方法一、拆分再合并&#xff08…

css盒子设置圆角边框的方法

前言 欢迎来到我的博客 个人主页&#xff1a;北岭敲键盘的荒漠猫-CSDN博客 本文为我整理的设置圆角边框的方法 需求描述 我们在设置盒子边框时&#xff0c;他总是方方正正的。 我们想让这个直直的边框委婉一点该怎么办呢。这个就提到了我们这篇文章讲的东西&#xff1a; bord…

接口测试|超详细面试题【附答案】

今天给姐妹们整理了一套超详细的附答案的接口测试面试题&#xff0c;姐妹们快学起来吧~ 接口测试的重要性&#xff0c;相信不用我多说了。接口测试是现在软件测试工程师一个加分项。因为很多朋友一开始做了几年的软件测试都是在做功能测试&#xff0c;做界面UI的测试&#xff…

ClickHouse用UDF解析XML字符串和XML文件

一.如果是读取xml文件的时候&#xff0c;文件入库需要使用文件读取UDF 创建了1个测试文件 wsdFileRead()&#xff1a; 直接读取文件内容 SELECT wsdFileRead(/home/temp/wsd_test.xml)Query id: 09b6e5fe-7169-43f7-b001-90e2eeabb8da┌─wsdFileRead(/home/temp/wsd_test.xm…

二维码存储图片如何实现?相册二维码的制作技巧

如何将照片生成二维码后存储展示&#xff1f;现在很多人会将图片生成二维码以后&#xff0c;用于分享或者储存的用途&#xff0c;减少个人内存的占用量&#xff0c;而且分享照片也会更加的方便&#xff0c;只需要扫描二维码就可以让其他人查看图片。 想要制作图片二维码的步骤…

掌握Linux Shell脚本函数:提高脚本效率与可维护性

目录标题 1、什么是Shell函数&#xff1f;2、如何定义Shell函数&#xff1f;3、Shell函数参数4、返回值5、实例&#xff1a;使用函数进行文件备份6、为什么使用函数&#xff1f;7、最佳实践 在编写Linux shell脚本时&#xff0c;函数是组织和重用代码的重要手段。本文将介绍如何…

ubuntu20 中设置桌面背景任务

1. 下载conky 使用 Conky 在 Ubuntu 中显示信息&#xff0c;例如你的阅读计划&#xff0c;可以分几个步骤来完成。Conky 是一款灵活的轻量级系统监视器&#xff0c;能够在桌面上显示各种信息。以下是基本的设置步骤&#xff1a; 安装 Conky 首先&#xff0c;你需要在 Ubuntu…

园区智慧化转型新篇章:解码智慧技术如何助力园区实现精细化管理,提升运营效率

目录 一、智慧技术概述及其在园区管理中的应用 &#xff08;一&#xff09;物联网技术的应用 &#xff08;二&#xff09;大数据技术的应用 &#xff08;三&#xff09;云计算技术的应用 二、智慧技术助力园区实现精细化管理 &#xff08;一&#xff09;实现资源优化配置…

百度智能云千帆 ModelBuilder 技术实践系列:通过 SDK 快速构建并发布垂域模型

​百度智能云千帆大模型平台&#xff08;百度智能云千帆大模型平台 ModelBuilder&#xff09;作为面向企业开发者的一站式大模型开发平台&#xff0c;自上线以来受到了广大开发者、企业的关注。至今已经上线收纳了超过 70 种预置模型服务&#xff0c;用户可以快速的调用&#x…

crossover和wine哪个好 wine和crossover有什么本质区别 苹果电脑运行Windows crossover24

CrossOver是Wine的延伸产品&#xff0c;CrossOver可以简单的理解为类虚拟机&#xff0c;那么wine是什么&#xff0c;许多小伙伴就可能有些一知半解。CrossOver和wine哪个好&#xff0c;wine和CrossOver有什么本质区别呢&#xff1f;下文将围绕着这两个问题展开。 一、CrossOve…

一文扫盲(7):房产管理系统界面设计

本次带来第7期&#xff1a;房产管理系统的界面设计&#xff0c;从系统定义、功能模块、界面构成和设计方向四个方面讲解&#xff0c;大千UI工场愿意持续和大家分享&#xff0c;欢迎关注、点赞、转发。 一、什么是房产管理系统 房产管理系统是一种用于管理和维护房地产资产的软…

YOLO新鲜腐烂水果检测数据集:8类,11000多张图像,标注完整

YOLO新鲜腐烂水果检测数据集&#xff1a;8类&#xff0c;11000多张图像&#xff0c;yolo标注完整&#xff0c;包含烂苹果&#xff0c;烂香蕉&#xff0c;烂橙子&#xff0c;烂石榴&#xff0c;好苹果&#xff0c;好香蕉&#xff0c;好橙子&#xff0c;好石榴8个类别 图像统一分…

仿真软件搭建注意事项

搭建仿真软件是一个复杂的过程&#xff0c;涉及到软件工程、计算数学、工程学、物理学以及产品设计等多个学科的融合。以下是搭建仿真软件的注意事项&#xff1a; 需求分析&#xff1a;明确仿真软件的目标和功能需求&#xff0c;包括仿真的对象、仿真的精度、所需的物理模型等…

三招教你成为朋友圈运营高手,赶紧get起来!

朋友圈作为一个重要的营销推广渠道&#xff0c;是能够为我们带来很多收益的。今天就给大家分享朋友圈运营的三个技巧&#xff0c;快快Get起来吧&#xff01; 第一招&#xff1a;明确人设定位 要在朋友圈里脱颖而出&#xff0c;首先我们需要明确自己的人设定位。选择一个与自己…

【Chapter3】中断与处理机调度,计算机操作系统教程,第四版,左万利,王英

文章目录 一、中断与中断系统1.1 什么是中断&#xff1f;1.1.1 外中断&#xff08;硬件&#xff09;1.1.2 异常&#xff08;内中断&#xff09; 1.2 中断机制的原理1.2.1 中断装置1、中断源与中断字2、中断类型与中断向量3、中断嵌套与系统栈4、中断优先级别与中断屏蔽 1.2.2 中…

【热门话题】AI作画算法原理解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 AI作画算法原理解析AI作画算法概述基础原理&#xff1a;机器学习与深度学习卷积…

基于Springboot的人职匹配推荐系统

基于SpringbootVue的人职匹配推荐系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页 企业信息 岗位信息 新闻资讯 后台管理 用户管理 企业信息管理 岗位信…

docker系列7:docker安装ES

目录 传送门 Docker安装ES 确定版本 拉取镜像 执行拉取ES镜像 查看ES镜像 运行ES 创建一个新的docker网络 启动一个Elasticsearch容器 查看运行结果 ES启动内存不足 访问ES 公网访问 传送门 docker系列1&#xff1a;docker安装 docker系列2&#xff1a;阿里云镜…