pandas之统计方法2

print("*"*25+"数据分类统计"+"*"*25)
*************************数据分类*************************
import pandas as pd
from matplotlib import pyplot as plt
file_path="./IMDB-Movie-Data.csv"
df = pd.read_csv(file_path)
print(df["Genre"].head(3))
0     Action,Adventure,Sci-Fi
1    Adventure,Mystery,Sci-Fi
2             Horror,Thriller
Name: Genre, dtype: object
temp_list = df["Genre"].str.split(",").tolist() #[[],[],[]]
genre_list = list(set([i for j in temp_list for i in j]))#统计各分类做为列
import numpy as np
zeros_df=pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)#构造全0的数组
#给每个电影出现的分类的位置赋值1
for i in range(df.shape[0]):
    zeros_df.loc[i,temp_list[i]] = 1
#     print(temp_list[i])#['Action', 'Adventure', 'Sci-Fi']
#     break
print(zeros_df.head(3))
#统计每个分类的电影的数量和
genre_count=zeros_df.sum(axis=0)
#排序
genre_count=genre_count.sort_values()

#画图
_x=genre_count.index
_y=genre_count.values
plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(len(_x)),_y,width=0.3,color="orange")
plt.xticks(range(len(_x)),_x)
plt.show()
   Music  War  Sport  Mystery  Musical  Action  Comedy  Adventure  Thriller  \
0    0.0  0.0    0.0      0.0      0.0     1.0     0.0        1.0       0.0   
1    0.0  0.0    0.0      1.0      0.0     0.0     0.0        1.0       0.0   
2    0.0  0.0    0.0      0.0      0.0     0.0     0.0        0.0       1.0   

   Drama  Romance  Family  History  Crime  Animation  Biography  Fantasy  \
0    0.0      0.0     0.0      0.0    0.0        0.0        0.0      0.0   
1    0.0      0.0     0.0      0.0    0.0        0.0        0.0      0.0   
2    0.0      0.0     0.0      0.0    0.0        0.0        0.0      0.0   

   Sci-Fi  Western  Horror  
0     1.0      0.0     0.0  
1     1.0      0.0     0.0  
2     0.0      0.0     1.0  

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值