电视剧演员复杂网络分析实战

最近一直在做项目搞科研,很久没更新了,今天分享一个在实习中遇到的数据分析实战项目吧。公司当时整理的一个爱优腾等平台的2016年-2024年所有上线的电视剧数据,数据大概长这样:在这里插入图片描述
我想得到哪些演员是最有投资价值的,给企业带来投资决策。我当时想到的就是用复杂网络进行KOL识别。我发现主要演员这一列将演员们用’/'进行连接,可以据此来构建演员合作网络进行分析。

  1. 数据预处理
    由于不同平台的数据在不同的Excel中,需要先合并再去重
import pandas as pd
import numpy as np    
excel_path = r"xxx平台电视剧.xlsx"    
# 使用pandas的ExcelFile来读取整个Excel文件  
xls = pd.ExcelFile(excel_path)    
# 初始化一个空的DataFrame,用于存放合并后的数据  
combined_df = pd.DataFrame()  
  
# 遍历Excel文件中的所有sheet  
def readsheet(xls,combined_df):
    for sheet_name in xls.sheet_names:  
        # 读取每个sheet到DataFrame  
        df = pd.read_excel(xls, sheet_name=sheet_name,skiprows=13)        
        # 添加一列,标识数据来源(sheet名)  
        df['年份'] = sheet_name        
        # 合并DataFrame  
        # 如果combined_df是空的,则直接赋值;否则使用concat  
        if combined_df.empty:  
            combined_df = df  
        else:  
            combined_df = pd.concat([combined_df, df], ignore_index=True)
    return combined_df
combined_df=readsheet(xls,combined_df)
xls1 = pd.ExcelFile(r"xxx平台电视剧.xlsx")
xls2 = pd.ExcelFile(r"xxx平台电视剧.xlsx")
xls3 = pd.ExcelFile(r"xxx平台电视剧.xlsx")
combined_df=readsheet(xls1,combined_df)
combined_df=readsheet(xls2,combined_df)
combined_df=readsheet(xls3,combined_df)
combined_df = combined_df.drop_duplicates(subset='剧名', keep='first')
#CSDN:清洄KAKA 原创

去重是因为有些电视剧是多平台同时播出的,可以查看这些重复的是哪些电视剧:

duplicated_titles = combined_df[combined_df.duplicated(subset='剧名', keep=False)] #查看所有重复剧名的行,发现多平台同播
  1. 构建复杂网络
    使用networkx库构建复杂网络,节点是演员,边代表合作关系

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清洄KAKA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值