系列文章目录:
python数据分析(一)——series和读取外部数据
python数据分析(二)——DataFrame
python数据分析(三)——pandas缺失值处理
pandas常用统计方法
- 前言
- 一、电影数直方图
前言
假设现在有一组从2006年到2016年1000部最流行的电影数据,怎么获取这些电影数据评分中的平均分、导演人数等信息?
代码如下(示例):
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36import 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分布情况
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32import 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分布情况
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40import 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常用统计方法前言一、电影数直方图内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复