01.电影数直方图
无数据,代码如下:
1.同等组距
import pandas as pd
from matplotlib import pylot as plt
file_path = './IMDB-Movie-Data.csv'
df= pd.read_csv(file_path)
print(df.head(1))
print(df.describe())
print(df.info())
#ratint,runtime分布情况
#选择图形,直方图
#准备数据
runtime_data = df["Runtime(Minutes)"].values
max_runtime = runtime_data.max()
min_runtime = runtime_data.min()
#计算组数
num_bin = (max_runtime-min_runtime)//5
#设置图形的大小
plt.figure(figsize=(20,8),dip=80)
plt.hist(runtime_data, num_bin)
# _x = list(range(min_runtime*2,max_runtime*2))
# _x = [i/2 for i in _x]
_x = [min_runtime]
i = min_runtime
while i<=max_runtime + 0.5:
i = i+0.5
_x.append(i)
plt.xticks(range(min_runtime, max_runtime+0.5,5))
plt.show()
2.不同等组距:
import pandas as pd
from matplotlib import pylot as plt
file_path = './IMDB-Movie-Data.csv'
df= pd.read_csv(file_path)
print(df.head(1))
print(df.describe())
print(df.info())
#ratint,runtime分布情况
#选择图形,直方图
#准备数据
runtime_data = df["Runtime(Minutes)"].values
max_runtime = runtime_data.max()
min_runtime = runtime_data.min()
#计算组数
# num_bin_list = [1.6]
num_bin_list = [0.5]*13 + [0.6]
# num_bin_list = [1.6]
# i = 1.6
# while i<max_runtime:
# i +=0.5
# num_bin_list.append(0.5)
# num_bin_list = [1.6]
# i = 1.6
# while i<max_runtime:
# i +=0.5
# num_bin_list.append(i)
#设置图形的大小
plt.figure(figsize=(20,8),dip=80)
plt.hist(runtime_data, num_bin)
_x = [min_runtime]
i = min_runtime
while i<=max_runtime + 0.5:
i = i+0.5
_x.append(i)
plt.xticks(range(min_runtime, max_runtime+0.5,5))
plt.show()
02.padas的常用统计方法
import pandas as pd
file_path = './IMDB-Movie-Data.csv'
df= pd.read_csv(file_path)
print(pd.info())#获取数据是否缺失等信息
print(df.head())#获取前几行信息
#获取平均评分
print(df['Rating'].mean())
#获取导演的人数
print(len(set(df['Director'].tolist())))
#与上面的方法一样效果
# print(len(df['Director'].unique()))
#获取演员的人数
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)
注意:df[“Actors”].max()---->是计算最大值
df[“Actors”].argmax()---->是返回最大值的索引