利用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.5num_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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海量数据处理商用短链接生成器平台 - 3

第三章 商用短链平台实战-账号微服务流量包设计 第1集 账号微服务和流量包数据库表索引规范讲解 简介&#xff1a;账号微服务和流量包数据库表索引规范讲解 索引规范 主键索引名为 pk_字段名; pk即 primary key;唯一索引名为 uk_字段名&#xff1b;uk 即 unique key普通索引…

力扣题目训练(9)

2024年2月2日力扣题目训练 2024年2月2日力扣题目训练412. Fizz Buzz414. 第三大的数415. 字符串相加129. 求根节点到叶节点数字之和131. 分割回文串65. 有效数字 2024年2月2日力扣题目训练 2024年2月2日第九天编程训练&#xff0c;今天主要是进行一些题训练&#xff0c;包括简…

[BJDCTF2020]ZJCTF,不过如此

伪协议读取next.php源码 preg_replace() /e代码执行漏洞_preg_replace /e-CSDN博客 查找资料我们发现&#xff0c;在php5.6及以下版本中&#xff0c;/e使得preg_replace的第二个参数可以被当作php代码执行&#xff0c;第二个参数中\\1指的是正则匹配到的第一组文本&#xff0c…

刘谦春晚魔术的数学原理

刘谦春晚魔术的数学原理 文章目录 前言魔术介绍魔术揭秘STEP 1STEP 2STEP 3STEP 4STEP 5STEP 6STEP 7 总结 前言 2024 春晚刘谦的第二个魔术很多人跟着一起做了&#xff0c;都觉得非常神奇。我也跟着操作了一遍&#xff0c;结果一眼就让我看出了背后的数学原理。下面给大家介…

C++ :内存管理 newdelete

目录 内存区域划分 C的动态内存的管理方式 new new的基本使用方法 【注意事项】 delete 【注意】 new和delete操作自定义类型 operator new 和 operator delete 【关于自定义类型new申请内存】 【原理】 【调用顺序】 【连续开辟空间问题】 malloc/free和…

用脑想问题还是用心驱动脑?

昨天回答了几个朋友的问题&#xff0c;我发现提问题的人很少&#xff0c;这让我想起之前讲的小妞子的故事&#xff0c;我问了她好几个月的同一句话&#xff1a;你有问题吗&#xff1f; 结果她很反感&#xff0c;嘿嘿。其实吧&#xff0c;我讲的很多东西都是实的&#xff0c;反而…

【Python】使用 requirements.txt 与 pytorch 相关配置

【Python】使用 requirements.txt 与 pytorch 相关配置 前言一、pip1、导出结果含有路径2、导出不带路径的 二、Conda1、导出requirements.txt2、导出yml 文件 三、第三方包&#xff1a;pipreqs&#xff08;推荐&#xff09;1、创建并激活conda环境2、安装requirements文件的pi…

【Tauri】(3):使用Tauri1.5版本,进行桌面应用开发,在windows上搭建环境,安装node,rust环境,可以打包成功,使用vite创建应用

1&#xff0c;视频地址&#xff1a; https://www.bilibili.com/video/BV1Ny421a7nA/ 【Tauri】&#xff08;3&#xff09;&#xff1a;使用Tauri1.5版本&#xff0c;进行桌面应用开发&#xff0c;在windows上搭建环境&#xff0c;安装node&#xff0c;rust环境&#xff0c;可以…

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能

软件实例分享&#xff0c;茶楼收银软件管理系统&#xff0c;支持计时计费商品销售会员管理定时语音提醒功能 一、前言 以下软件教程以 佳易王茶社计时计费管理系统软件V18.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问&#xff1a;这个软…

qml写一个自适应登录框

1、前言 写一个可自由伸缩的登录框&#xff0c;&#xff0c;&#xff08;横向上&#xff09; 关键&#xff1a;给相关控件赋予 Layout.fillWidth: true 属性 即可。 2、代码 //main.qml import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQml 2.12 import QtQuic…

Ubuntu Desktop 自动获取 IP 地址

Ubuntu Desktop 自动获取 IP 地址 1. 左键单击网络图标 -> Edit Connections2. Network Connections3. Edit -> IPv4 SettingsReferences 1. 左键单击网络图标 -> Edit Connections 2. Network Connections ​​​ 3. Edit -> IPv4 Settings Automatic (DHCP) …

对应点已知时最优变换求解介绍以及SVD代码示例

一、空间上两组点希望找到一个刚性变换&#xff0c;在最小二乘的意义上最优地对齐两个点集&#xff0c;就是说找到一个旋转矩阵R和一个平移向量t。 二、SVD代码示例 C代码 #include <iostream> #include <pcl/point_cloud.h> #include <pcl/point_types.h>…