数据分析基础之《pandas(8)—综合案例》
一、需求
1、现在我们有一组从2006年到2016年1000部最流行的电影数据
数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data
2、问题1
想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取?
3、问题2
对于这一组电影数据,如果我们想看Rating、Runtime (Minutes)的分布情况,应该如何呈现数据?
4、问题3
对于这一组电影数据,如果我们希望统计电影分类genre的情况,应该如何处理数据?
二、实现
1、问题1
# 综合案例
movie= pd.read_csv("./IMDB-Movie-Data.csv")movie# 想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取?
# 评分的平均分
movie["Rating"].mean()# 导演的人数信息
np.unique(movie["Director"]).size

2、问题2
# 对于这一组电影数据,如果我们想看Rating、Runtime (Minutes)的分布情况,应该如何呈现数据?
import matplotlib.pyplot as plt# 创建画布
plt.figure(figsize=(20,8), dpi=100)# 绘制直方图
plt.hist(movie["Rating"], 20)# 修改刻度
max_ = movie["Rating"].max()
min_ = movie["Rating"].min()
plt.xticks(np.linspace(max_, min_, num=21))# 添加网格
plt.grid(linestyle="--", alpha=0.8)# 显示图像
plt.show()

3、问题3
思路分析:
(1)创建一个temp_df,全为0的dataframe,列索引值为电影的分类
(2)遍历每一部电影,temp_df中把分类出现的列的值置为1
(3)求和
# 对于这一组电影数据,如果我们希望统计电影分类genre的情况,应该如何处理数据?
# 先统计电影类别都有哪些
movie_genre = [i.split(",") for i in movie["Genre"]]movie_genre# 拆分
movie_class = np.unique([j for i in movie_genre for j in i])movie_class# 统计每个电影有几个类别
count = pd.DataFrame(np.zeros(shape=[1000, 20], dtype="int32"), columns=movie_class)countfor i in range(1000):count.loc[i, movie_genre[i]] = 1countcount.sum(axis=0).sort_values(ascending=False).plot(kind="bar", figsize=(20, 8), fontsize=20, colormap="cool")

三、小结
pandas高级数据处理
缺失值处理
缺失值是NaN类型
判断是否存在np.nan缺失值
pd.isnull(df).any()
pd.notnull(df).all()
两种思路
删除df.dropna()
替换sr.fillna(value, replace=)
缺失值是其他默认符号
替换df.replace(to_replace="?", value=np.nan)
按照处理nan的步骤
数据离散化
分组
自动分组pd.qcut(data, bins)
自定义分组pd.cut(data, bins)
转换
pd.get_dummies(分好组的数据, prefix=)
数据合并
按方向合并
pd.concat((a,b), axis=)
按索引合并
pd.merge(left, right, how="inner", on=)
交叉表与透视表
pd.crosstab(value1, value2)
df.pivot_table([字段], index=)
分组与聚合
用dataframe.groupby(by=).聚合函数()
用sr.groupby(sr).聚合函数()
相关文章:
数据分析基础之《pandas(8)—综合案例》
一、需求 1、现在我们有一组从2006年到2016年1000部最流行的电影数据 数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data 2、问题1 想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取? 3、问题…...
(17)Hive ——MR任务的map与reduce个数由什么决定?
一、MapTask的数量由什么决定? MapTask的数量由以下参数决定 文件个数文件大小blocksize 一般而言,对于每一个输入的文件会有一个map split,每一个分片会开启一个map任务,很容易导致小文件问题(如果不进行小文件合并&…...
define和typedef
目录 一、define 二、typedef 三、二者之间的区别 一、define 在我们写代码的日常中,经常会用到define去配合数组的定义使用 #define N 10 arr[N]{0}; define不仅仅能做这些 #define是一种宏,我们首先来了解一下宏定义。 宏定义一般作用在C语言的预…...
SpringCloud之Nacos用法笔记
SpringCloud之Nacos注册中心 Nacos注册中心nacos启动服务注册到Nacosnacos服务分级模型NacosRule负载均衡策略根据集群负载均衡加权负载均衡Nacos环境隔离-namespace Nacos与eureka的对比临时实例与非临时实例设置 Nacos配置管理统一配置管理微服务配置拉取配置自动刷新远端配置…...
【c++】拷贝构造函数
1.特征 1.拷贝构造函数是构造函数的一个重载形式。 2.若显示定义了拷贝构造函数,编译器就不会自动生成构造函数了。 3.拷贝构造函数的参数只有一个且必须是类型对象的引用,使用传值方式编译器直接报错,因为会引发无穷递归调用。 4.若未显…...
17.3.1.2 曝光
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 基本算法:先定义一个阈值,通常取得是128 原图像:颜色值color(R,G&#…...
【Win10 触摸板】在插入鼠标时禁用触摸板,并在没有鼠标时自动启用触摸板。取消勾选连接鼠标时让触摸板保持打开状态,但拔掉鼠标后触摸板依旧不能使用
出现这种问题我的第一反应就是触摸板坏了,但是无意间我换了一个账户发现触摸板可以用,因此推断触摸板没有坏,是之前的账户问题,跟系统也没有关系,不需要重装系统。 解决办法:与鼠标虚拟设备有关 然后又从知…...
排序算法---桶排序
原创不易,转载请注明出处。欢迎点赞收藏~ 桶排序(Bucket Sort)是一种排序算法,它将待排序的数据分到几个有序的桶中,每个桶再分别进行排序,最后将各个桶中的数据按照顺序依次取出,即可得到有序序…...
FPGA_工程_基于rom的vga显示
一 框图 二 代码修改 module Display #(parameter H_DISP 1280,parameter V_DISP 1024,parameter H_lcd 12d150,parameter V_lcd 12d150,parameter LCD_SIZE 15d10_000 ) ( input wire clk, input wire rst_n, input wire [11:0] lcd_xpos, //lcd horizontal coo…...
代码随想录算法训练营第31天|● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和
文章目录 理论基础分发饼干思路:代码: 摆动序列思路一 贪心算法:代码: 思路二:动态规划(想不清楚)代码: 最大子序和思路:代码: 理论基础 贪心算法其实就是没…...
无人机地面站技术,无人机地面站理论基础详解
地面站作为整个无人机系统的作战指挥中心,其控制内容包括:飞行器的飞行过程,飞行航迹, 有效载荷的任务功能,通讯链路的正常工作,以及 飞行器的发射和回收。 无人机地面站总述 地面站作为整个无人机系统的作战指挥中心…...
2024.2.13
21.C 22.D 23.B 5先出栈表示1,2,3,4已经入栈了,5出后4出,但之后想出1得先让3,2先后出栈,所以 B 不可能 24.10,12,120 25.2,5 26.可能会出现段错误…...
论文阅读:四足机器人对抗运动先验学习稳健和敏捷的行走
论文:Learning Robust and Agile Legged Locomotion Using Adversarial Motion Priors 进一步学习:AMP,baseline方法,TO 摘要: 介绍了一种新颖的系统,通过使用对抗性运动先验 (AMP) 使四足机器人在复杂地…...
.NET Core WebAPI中封装Swagger配置
一、创建相关文件 创建一个Utility/SwaggerExt文件夹,添加一个类 二、在Program中找到Swagger相关配置信息 三、添加方法,在Program中调用 在SwaggerExt类中添加方法,将相关配置添写入 /// <summary> /// swagger配置 /// </sum…...
28. 找出字符串中第一个匹配项的下标
Problem: 28. 找出字符串中第一个匹配项的下标 文章目录 思路解题方法复杂度Code 思路 这个问题可以通过使用KMP(Knuth-Morris-Pratt)算法来解决。KMP算法是一种改进的字符串匹配算法,它的主要思想是当子串与目标字符串不匹配时,能…...
宿舍|学生宿舍管理小程序|基于微信小程序的学生宿舍管理系统设计与实现(源码+数据库+文档)
学生宿舍管理小程序目录 目录 基于微信小程序的学生宿舍管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1)学生信息管理 (2)公告信息管理 (3)宿舍信息管理 &am…...
CVE-2022-25487 漏洞复现
漏洞描述:Atom CMS 2.0版本存在远程代码执行漏洞,该漏洞源于/admin/uploads.php 未能正确过滤构造代码段的特殊元素。攻击者可利用该漏洞导致任意代码执行。 其实这就是一个文件上传漏洞罢了。。。。 打开之后,/home路由是个空白 信息搜集&…...
C#面:强类型和弱类型
强类型 强类型是指在编程语言中,变量必须明确声明其数据类型,并且在编译时会进行类型检查的特性。它可以提高代码的可读性和可维护性,但有时需要显式地进行类型转换。换句话说,强类型语言要求变量的类型在编译时就要确定…...
nodejs和npm和vite
Nodejs 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境 用途: Node.js 可以被看作是一个 JavaScript 运行时环境,专门用于在服务…...
相机图像质量研究(24)常见问题总结:CMOS期间对成像的影响--摩尔纹
系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…...
SpringBoot + MongoDB 5分钟快速集成:从0到1实操指南
目录 MongoDB 快速集成 常用API MongoDB MongoDB 是一个基于分布式文件存储的文档型数据库,属于 NoSQL 数据库中最接近关系型数据库的产品,旨在为 Web 应用提供高性能、高可用和可扩展的数据存储解决方案 。 MongoDB以灵活的无模式文档模型…...
华为 eNSP 安装全攻略:Windows 11 25H2 完美适配
本教程适用范围 ✅ Windows 7(所有版本)✅ Windows 10(所有版本)✅ Windows 11 23H2 及以下✅ Windows 11 24H2(OS 内部版本 ≥ 26100.3624)✅ Windows 11 25H2❌ Windows 11 24H2(OS 内部版本…...
Mbed OS platform_drivers:嵌入式HAL驱动核心解析
1. 项目概述platform_drivers是 Arm Mbed OS 生态中一组经过严格验证、面向硬件抽象层(HAL)的平台级设备驱动集合,其核心定位并非提供通用外设封装,而是为 Mbed OS 内核及中间件组件提供可移植、可测试、符合 RTOS 语义的底层硬件…...
基于Python的汽车租赁管理系统毕设
博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在开发一套基于Python的汽车租赁管理系统,以实现汽车租赁业务的自动化、高效化和智能化。具体而言,研究目的可从以下几个方面进行…...
Transformer深度解析四:认知跃迁、交互建模与文明基底重构
【内容定位】未来畅想【文章日期】2026-03-31【场景引入】2026年3月的最后一天,我们站在一个看似稳固的技术高原上回望:Transformer架构已如同信息时代的“牛顿定律”,近乎完美地描述了语言宇宙中“符号”与“关系”的运动规律,并…...
【系统架构设计师-案例题(5)】人工智能 · 参考答案与解析(按分类)
文章目录目录一、机器学习基本概念单选 迁移学习单选 强化学习的核心特点二、人工智能分类(弱人工智能与强人工智能)单选 主要区别三、人工智能关键技术单选 说法错误项(选非)单选 哪项不是人工智能关键技术(选非…...
DLSS Swapper完整指南:掌握游戏性能优化的终极工具
DLSS Swapper完整指南:掌握游戏性能优化的终极工具 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款革命性的游戏性能优化工具,专为现代PC游戏玩家设计。这款开源软件让您能够…...
GetQzonehistory终极指南:三步永久备份你的QQ空间数字记忆
GetQzonehistory终极指南:三步永久备份你的QQ空间数字记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否也曾翻看QQ空间,发现那些承载青春记忆的说说正在…...
从手机拍照到专业扫描:5种主流三维重建数据集的‘幕后’采集故事与技术选型
从手机拍照到专业扫描:5种主流三维重建数据集的‘幕后’采集故事与技术选型 在数字孪生和元宇宙技术快速发展的今天,高质量三维重建数据集已成为计算机视觉领域的战略资源。不同于普通用户随手拍摄的二维照片,专业级三维数据集背后隐藏着精密…...
戴森球计划FactoryBluePrints蓝图库:从新手到专家的终极工厂建设指南
戴森球计划FactoryBluePrints蓝图库:从新手到专家的终极工厂建设指南 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints蓝图库是戴森球计划游戏…...
