利用pandas库进行数据分析

一.这段代码的主要目的是读取IMDB电影数据集,并进行一些基本的数据分析

# coding=utf-8
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

# 定义CSV文件的路径
file_path = './IMDB-Movie-Data.csv'

# 使用pandas的read_csv函数读取CSV文件,返回一个DataFrame对象
df = pd.read_csv(file_path)

# 打印出DataFrame的信息,包括索引、数据类型、内存使用等
# 注意这里是方法调用,所以后面有括号
print(df.info())

# 计算'Rating'列的平均值
# 使用pandas的mean方法计算平均值
print(df['Rating'].mean())

# 计算'Director'列中不同导演的数量
# 使用pandas的unique方法去重,然后计算长度
print(len(df['Director'].unique()))

# 获取演员的人数
# 首先将'Actors'列中的字符串按逗号分割成列表
temp_actors_list = df['Actors'].str.split(',').tolist()
# 将嵌套列表展开成一个平面列表
actors_list = [i for j in temp_actors_list for i in j]
# 计算演员列表的长度,即演员的数量
actors_num = len(set(actors_list))

print(actors_num)

在这段代码中,我们首先读取了一个名为IMDB-Movie-Data.csv的CSV文件,并将其转换为一个pandas的DataFrame对象。然后,我们打印出DataFrame的信息。接着,我们计算了Rating列的平均值,并打印出来。然后,我们计算了Director列中不同导演的数量,并打印出来。最后,我们获取了演员的人数,通过将Actors列中的字符串按逗号分割成列表,然后计算了列表中不同演员的数量。

二.这段代码的主要目的是读取IMDB电影数据集,并绘制电影时长(Runtime)的分布直方图

# coding=utf-8
import pandas as pd
from matplotlib import pyplot as plt

# 定义CSV文件的路径
file_path = './IMDB-Movie-Data.csv'

# 使用pandas的read_csv函数读取CSV文件,返回一个DataFrame对象
df = pd.read_csv(file_path)

# 打印出DataFrame的前1行
# print(df.head(1))

# 打印出DataFrame的信息,包括索引、数据类型、内存使用等
# print(df.info)

# 分析电影时长(Runtime)的分布情况
# 选择图形,直方图
# 准备数据
# 获取'Runtime (Minutes)'列的数据
runtime_data = df['Runtime (Minutes)'].values

# 计算时长的最大值和最小值
max_runtime = runtime_data.max()
min_runtime = runtime_data.min()

# 计算直方图的组数
# 假设我们希望每5分钟为一组
num_bins = (max_runtime - min_runtime) // 5

# 设置图形的大小
plt.figure(figsize=(20, 8), dpi=80)

# 绘制直方图
# bins参数设置组数,density参数设置为True表示归一化,即每个直方图的面积为1
# facecolor设置直方图颜色,alpha设置透明度
plt.hist(runtime_data, bins=num_bins, density=True, facecolor='blue', alpha=0.5)

# 显示图形
plt.show()

在这段代码中,我们首先读取了一个名为IMDB-Movie-Data.csv的CSV文件,并将其转换为一个pandas的DataFrame对象。然后,我们从DataFrame中提取了电影时长的数据。接着,我们计算了电影时长的最大值和最小值,并根据这两个值计算了直方图的组数。最后,我们设置了图形的大小,绘制了电影时长的分布直方图,并显示了图形。效果如下:

三.这段代码的主要目的是读取IMDB电影数据集,并绘制电影评分(Rating)的分布直方图

# coding=utf-8
import pandas as pd
from matplotlib import pyplot as plt

# 定义CSV文件的路径
file_path = './IMDB-Movie-Data.csv'

# 使用pandas的read_csv函数读取CSV文件,返回一个DataFrame对象
df = pd.read_csv(file_path)

# 打印出DataFrame的前1行
# print(df.head(1))

# 打印出DataFrame的信息,包括索引、数据类型、内存使用等
# print(df.info)

# 分析电影评分(Rating)的分布情况
# 选择图形,直方图
# 准备数据
# 获取'Rating'列的数据
rating_data = df['Rating'].values

# 计算评分的最大值和最小值
max_rating = rating_data.max()
min_rating = rating_data.min()

# 计算直方图的组数
# 由于评分是10分制,我们希望每0.5分为一组
num_bins_list = [1.6]
i = 1.6
while i <= max_rating:
    i += 0.5
    num_bins_list.append(i)

# 设置图形的大小
plt.figure(figsize=(20, 8), dpi=80)

# 绘制直方图
# bins参数设置组数列表,density参数设置为True表示归一化,即每个直方图的面积为1
# facecolor设置直方图颜色,alpha设置透明度
plt.hist(rating_data, bins=num_bins_list, density=True, facecolor='blue', alpha=0.5)

# 显示图形
plt.show()

在这段代码中,我们首先读取了一个名为IMDB-Movie-Data.csv的CSV文件,并将其转换为一个pandas的DataFrame对象。然后,我们从DataFrame中提取了电影评分的数据。接着,我们计算了电影评分的最大值和最小值,并根据这两个值计算了直方图的组数列表。最后,我们设置了图形的大小,绘制了电影评分的分布直方图,并显示了图形。效果如下:

请注意,直方图的组数是通过一个循环动态生成的,每0.5分为一组,从1.6开始,直到最大评分值。这样可以确保每个组的范围是0.5分,符合10分制的电影评分。

 上方代码涉及的IMDB电影数据集如下:

IMDB-Movie-Data文件大小:132.7 K|icon-default.png?t=N7T8https://wwt.lanzoum.com/ikyre1o643dc

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

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

相关文章

Codeforces Round 113 (Div. 2)E. Tetrahedron(dp、递推)

文章目录 题面链接题意题解代码总结 题面 链接 E. Tetrahedron 题意 从一个顶点出发走过路径长度为n回到出发点的方案总数 题解 考虑dp f [ i ] [ 0 ∣ 1 ∣ 2 ∣ 3 ] f[i][0|1|2|3] f[i][0∣1∣2∣3]:走了i步&#xff0c;现在在j点的方案总数 转移&#xff1a; f [ i ]…

力扣(LeetCode)数据结构练习题

今天来分享两道力扣&#xff08;LeetCode&#xff09;的题目来巩固上篇时间复杂度和空间复杂度的知识&#xff0c;也就是在题目上加上了空间复杂度和时间复杂度的限制。 目录 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c…

ubuntu下如何查看显卡及显卡驱动

ubuntu下如何查看显卡及显卡驱动 使用nvidia-smi 工具查看 查看显卡型号nvida-smi -L $ nvidia-smi -L GPU 0: NVIDIA GeForce RTX 3050 4GB Laptop GPU (UUID: GPU-4cf7b7cb-f103-bf56-2d59-304f8996e28c)当然直接使用nvida-smi 命令可以查看更多信息 $ nvidia-smi Mon Fe…

关于在分布式环境中RVN和使用场景的介绍3

简介 在《关于在分布式环境中RVN和使用场景的介绍2》和《关于在分布式环境中RVN和使用场景的介绍1》中我们介绍了RVN的概念和在一些具体用例中的使用。在本文中我们讨论一下在分布式环境中使用RVN需要注意的问题。 问题 我们在收到一条待处理的事件时&#xff0c;需要检查该…

2024.2.9

作业1 请使用递归实现n&#xff01; #include<stdio.h> #include<string.h> #include<stdlib.h>int fun(int m) {if(m0)return 1;else{return m*fun(m-1);} } int main(int argc, const char *argv[]) {int m;printf("please enter m:");scanf(&…

MySQL 升级脚本制作

当数据库更新字段后或添加一些基础信息&#xff0c;要对生产环境进行升级&#xff0c;之前都是手动编写sql&#xff0c;容易出错还容易缺失。 通过 Navcat 工具的数据库结构同步功能和数据同步功能完成数据库脚本的制作。 一、结构同步功能 1、选择 工具–结构同步&#xff1…

从零开始实现消息队列(一)

从零开始实现消息队列 .什么是消息队列需求分析核心概念模型 . 什么是消息队列 相信大家都了解过阻塞队列和生产者消费者模型,而阻塞队列最大的用途,就是用于实现生产者消费者模型,生产者消费者模型有以下好处: 解耦合 解释: 当主机A给主机B发消息时,A给B发送请求,B给A返回响应…

CTFshow web(php命令执行59-67)

web59 <?php /* # -*- coding: utf-8 -*- # Author: Lazzaro # Date: 2020-09-05 20:49:30 # Last Modified by: h1xa # Last Modified time: 2020-09-07 22:02:47 # email: h1xactfer.com # link: https://ctfer.com */ // 你们在炫技吗&#xff1f; if(isset($_POST…

2024.2.8

1. 现有文件test.c\test1.c\main.c,编写Makkefile Makefile&#xff1a; CCgcc EXEa.out OBJS$(patsubst %.c,%.o,$(wildcard *.c)) CFLAGS-c -oall:$(EXE)$(EXE):$(OBJS)$(CC) $^ -o $%.o:%.c$(CC) $(CFLAGS) $ $^.PHONY:cleanclean:rm $(OBJS) $(EXE) 2. C编程实现&#x…

基于Java (spring-boot)的音乐管理系统

一、项目介绍 播放器的前端&#xff1a; 1.首页&#xff1a;点击歌单中的音乐播放列表中的歌曲进行播放&#xff0c;播放时跳转播放界面&#xff0c;并显示歌手信息&#xff0c;同时会匹配歌词&#xff0c;把相应的歌词显示在歌词面板中。 2.暂停&#xff1a;当歌曲正在播放时…

5G NR 信道号计算

一、5G NR的频段 增加带宽是增加容量和传输速率最直接的方法&#xff0c;目前5G最大带宽将会达到400MHz&#xff0c;考虑到目前频率占用情况&#xff0c;5G将不得不使用高频进行通信。 3GPP协议定义了从Sub6G(FR1)到毫米波(FR2)的5G目标频谱。 其中FR1是5G的核心频段&#xff0…

155基于matlab 的形态学权重自适应图像去噪

基于matlab 的形态学权重自适应图像去噪&#xff1b;通过串并联的滤波降噪对比图&#xff0c;说明并联降噪的优越性。输出降噪前后图像和不同方法的降噪情况的信噪比。程序已调通&#xff0c;可直接运行。 155matlab 自适应图像降噪 串并联降噪 (xiaohongshu.com)

QT:实现图片选择器

一、效果图 二、用到的类 qApp&#xff1a;可以快速获取到项目目录位置。 QSettings &#xff1a;编写config文件&#xff0c;记录上次打开图片的位置&#xff0c;下次打开图片会从上次的位置查找图片。 QPixmap&#xff1a;用于图片的缩放&#xff0c;防止图片过小&#xff0…

Java+SpringBoot+Vue:高校科研管理的技术革新

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

基于JAVA的贫困地区人口信息管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 人口信息管理模块2.2 精准扶贫管理模块2.3 特殊群体管理模块2.4 案件信息管理模块2.5 物资补助模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 人口表3.2.2 扶贫表3.2.3 特殊群体表3.2.4 案件表3.2.5 物资补助表 四…

fatal error: rtiostream_utils.h: No such file or directory, rtiostream.h

fatal error: rtiostream_utils.h: No such file or directory 我的设置&#xff1a;

Java+SpringBoot实习管理系统探秘

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

19 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点 中等 相关标签 相关企业 提示 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 这段代码使用了双指针的方法&#xff0c;其中一个指针先走 n 步&#xff0c;然后两个指针一起走&#xff0c;直到第一…

【剪映】为什么要做音乐版权校验?

为什么要做音乐版权校验&#xff1f; 剪映模板开通同步抖音影集功能后&#xff0c;为了尊重原创音乐以及规避侵权风险&#xff0c;添加背景音乐时&#xff0c;建议您通过版权校验&#xff0c;在确定抖音拥有该音乐的版权后&#xff0c;此模板才可能会被同步抖音影集。

【C语言进阶】深度剖析数据在内存中的存储--上

1. C语言中的数据类型的简单介绍 注&#xff1a;C99标准里面&#xff0c;定义了bool类型变量。这时&#xff0c;只要引入头文件stdbool.h &#xff0c;就能在C语言里面正常使用bool类型。 1.1 在C语言中各类型所占内存空间的大小如下 char类型的数据类型大小为1字节即8比特位。…