我是靠谱客的博主 殷勤洋葱,最近开发中收集的这篇文章主要介绍python数据分析(四)——pandas常用统计方法前言一、电影数直方图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

系列文章目录
python数据分析(一)——series和读取外部数据
python数据分析(二)——DataFrame
python数据分析(三)——pandas缺失值处理


pandas常用统计方法

  • 前言
  • 一、电影数直方图


前言

假设现在有一组从2006年到2016年1000部最流行的电影数据,怎么获取这些电影数据评分中的平均分、导演人数等信息?


代码如下(示例):

import pandas as pd
import numpy as np

df = pd.read_csv(".../IMDB-Movie-Data.csv")

print(df.info())

# 获取平均评分
print(df["Rating"].mean())

# 获取导演人数 存在同一个导演拍多部电影的情况
# 方法一 set使list数据变成集合 集合使数据变唯一 tolist转换成列表
print(len(set(df["Director"].tolist())))
# 方法二
print(len(df["Director"].unique()))

# 获取演员人数 演员为list类型
temp_actors_list = df["Actors"].str.split(",").tolist()

# 双重for循环
actors_list = [i for j in temp_actors_list for i in j]
actors_num = len(set(actors_list))
print(actors_num)

# 电影时长的最大值
max_runtime = df["Runtime (Minutes)"].max()  # 最小值.min()
print(max_runtime)

# 电影时长最大值的位置
max_runtime_index = df["Runtime (Minutes)"].argmax()  # 最小值的位置.argmin()
print(max_runtime_index)

# 电影时长中位数
max_runtime_median = df["Runtime (Minutes)"].median()  # 最小值的位置.argmin()
print(max_runtime_median)

一、电影数直方图

对于这一组电影数据,如果想了解rating,runtime的分布情况,应该如何呈现数据?

runtime分布情况

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from matplotlib.font_manager import FontProperties

font = FontProperties(fname="/System/Library/Fonts/Supplemental/Songti.ttc", size=14)

df = pd.read_csv(".../IMDB-Movie-Data.csv")

# print(df.head(1))
# print(df.info())

# rating,runtime分布情况
# 选择图形,对连续数据进行统计,直方图
# 准备数据
runtime_data = df["Runtime (Minutes)"].values
runtime_max = df["Runtime (Minutes)"].max()
runtime_min = df["Runtime (Minutes)"].min()

# 计算组数
num_bin = (runtime_max - runtime_min) // 5

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

plt.hist(runtime_data, num_bin)
plt.xticks(range(runtime_min, runtime_max+5, 5), fontproperties=font)
plt.yticks(fontproperties=font)
plt.grid(alpha=0.3, linestyle='-.')

plt.show()

rating分布情况

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from matplotlib.font_manager import FontProperties

font = FontProperties(fname="/System/Library/Fonts/Supplemental/Songti.ttc", size=14)

df = pd.read_csv("/Users/shenyanqi/Documents/python数据分析学习/CSV/archive_03/IMDB-Movie-Data.csv")

# print(df.head(1))
# print(df.info())

# rating,runtime分布情况
# 选择图形,对连续数据进行统计,直方图
# 准备数据
rating_data = df["Rating"].values

rating_max = rating_data.max()
rating_min = rating_data.min()

print(rating_min)
print(rating_max)

# 计算组数
# num_bin = (rating_max - rating_min) // 0.5

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

# 传入参数将组数变为列表
_x = np.arange(rating_min, rating_max+0.5, 0.5)

# 传入列表参数
plt.hist(rating_data, _x)
plt.xticks(_x, fontproperties=font)
plt.yticks(fontproperties=font)
plt.grid(alpha=0.3, linestyle='-.')

plt.show()

最后

以上就是殷勤洋葱为你收集整理的python数据分析(四)——pandas常用统计方法前言一、电影数直方图的全部内容,希望文章能够帮你解决python数据分析(四)——pandas常用统计方法前言一、电影数直方图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部