我正在为一个虚构的电视节目制作一个 Dataframe 。在这个 Dataframe 中,有几列:"季节"、"剧集标题"、"关于"、"收视率"、"投票"、"收视率"、"持续时间"、"日期"、"访客之星"、"导演"、"编剧",其中以升序数值列出行。
在这个数据框架中,我的问题涉及两列; 'Writers'和'Viewership'。在Writers栏中,某些栏有多个writers,以""分隔|"。在"收视率"列中,每列都有一个介于1和23之间的浮点值,最多有2位小数。
下面是我正在使用的数据框架的一个精简示例,我试图过滤"作家"专栏,然后确定每个作家的总平均收视率:
df = pd.DataFrame({'Writers' : ['John Doe','Jennifer Hopkins | John Doe','Ginny Alvera','Binny Glasglow | Jennifer Hopkins','Jennifer Hopkins','Sam Write','Lawrence Fieldings | Ginny Alvera | John Doe','John Doe'], 'Viewership' : '3.4','5.26','22.82','13.5','4.45','7.44','9'})
我想到的拆分列字符串的解决方案是:
df["Writers"]= df["Writers"].str.split('|', expand=False)
这确实会分割字符串,但在某些情况下会在逗号前后留下空格。我需要删除空格,然后我需要列出所有作家,但每个作家只列出一次。
第二,对于每一位作者,我希望有一个专栏,说明他们的总平均收视率,或者每个作者的列表,说明他们的总平均收视率是他们工作的所有剧集:["John Doe : 15" , "Jennifer Hopkins : 7.54" , "Lawrence Fieldings : 3.7"]
这是我在这里的第一篇文章,我真的很感谢任何帮助!
1条答案
按热度按时间hgc7kmma1#