python计算各类型电影的评分_python(15)-pandas-多类型统计-电影分类问题

本文介绍了如何使用Python的pandas库处理电影分类数据,通过读取CSV文件,统计每种类型电影的数量。首先,通过split()函数处理电影的多类别信息,然后创建全零数组并根据类别赋值为1。最后,通过sum()函数计算各列的和,得出各类电影的数量,并进行排序。
摘要由CSDN通过智能技术生成

1.情境描述:用于电影分类,一个电影可以属于好几类。 按类型统计片子数。

2.实现步骤:读文件->统计分类->全0数组(行,列)->赋值为1->各列求和

3.知识点: 3.1嵌套 [ [ ],[ ],[ ],[ ] ] 读值

3.2 全0数组 创建N*M数组

3.3对应项赋值为1

8181aa7061913be3f458809ee445ec0e.png

知识点: 1.list 嵌套 [ [ ],[ ],[ ],[ ] ] 读值

l= [[a,b,c]

[a,f,x]

[x,b,m]

[a,f,c]

[y,b,c]]

list(set([i for j in temp_list for i in j ]))

2. 全0数组 创建N*M数组

1.创建一个4*3的数组

np.array(np.arange(12)).reshape(4, 3)

"""

输出

[ 0 1 2]

[ 3 4 5]

[ 6 7 8]

[ 9 10 11]

"""

2.创建一个4*3的全零数组

zeros(shape, dtype=float, order='C')

np.zeros((4, 3))

"""

输出

[ 0. 0. 0.]

[ 0. 0. 0.]

[ 0. 0. 0.]

[ 0. 0. 0.]

"""

3.对应项赋值为1

#zeros_df.loc[0,["SCI-FI","musical"]]=1

for i in range(df.shape[0]):

zeros_df.loc[i,temp_list[i]]=1

流程代码:

"""

1.得到所有的分类 genre_list=[]

temp_genre_list=df["Genre"].str.split(",").tolist()

或者 tolist() to_dict() 类型数据

genre_list=[]

for i in temp_genre_list:

genre_list.extend(i)

genre_list=list(set(genre_list)) ->去重

2.构造一个全0数组

zeros_genre=pd.DataFrame(np.zeros(shape=(df.shape[0],len(genre_list)),dtype=int),colums=genre_list)

3.出现分类的地方设为1

for i in range(df.shape[0]):

genres=df["Genre"][i]

zeros_genre.loc[i,genres.split(",")]=1

"""

def fun():

#1.读取文件

filePath="./data/movie.csv"

df=pd.read_csv(filePath)

#2.统计分类的列表

temp_list=df["Genre"].str.split(",").tolist()

genre_list=list(set([i for j in temp_list for i in j ]))

#3.构造全为0的数组 行条数 列 种类

zeros_df=pd.DataFrame(np.zeros((df.shape(0),len(genre_list))),columns=genre_list)

#4.赋值为1 zeros_df.loc[0,["SCI-FI","musical"]]=1

for i in range(df.shape[0]):

zeros_df.loc[i,temp_list[i]]=1

#5.统计每个分类的电影的数量和

genre_count=zeros_df.sum(axis=0)

print(genre_count)

#6.排序

genre_count=genre_count.sort_value()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值