Python,pandas:基于多个其他列求和一个列,并将其放入新的数据帧中
我有这个数据集,我已经能够组织到我的最大能力。我被困在下一步了。以下是df的图片: 我的目标是以某种方式组织它,这样我就有了Python,pandas:基于多个其他列求和一个列,并将其放入新的数据帧中,python,pandas,sum,pandas-groupby,Python,Pandas,Sum,Pandas Groupby,我有这个数据集,我已经能够组织到我的最大能力。我被困在下一步了。以下是df的图片: 我的目标是以某种方式组织它,这样我就有了month、genres、和time\u wasted\u hours 如果我这样做: df=df.groupby(['month']).sum().reset_index() 它只总结了类型列中的1,而我需要添加该类型在时间\u wasted\u hours中出现的每个实例。例如,在第一排,类型喜剧将增加4.84小时。在第三排,0.84小时用于类型犯罪,依此类推 组织完
month
、genres
、和time\u wasted\u hours
如果我这样做:
df=df.groupby(['month']).sum().reset_index()
它只总结了类型列中的1,而我需要添加该类型在时间\u wasted\u hours
中出现的每个实例。例如,在第一排,类型喜剧将增加4.84小时。在第三排,0.84小时用于类型犯罪,依此类推
组织完成后,我将使用以下内容以我所需的格式制作:
df\u cleaned=df.melt(id\u vars='month',value\u name='time'u wasted'u hours',var\u name='Genres')。重命名(columns=str.title)
任何关于如何解决这个问题的建议都将不胜感激!谢谢
编辑:进一步看,用
time\u wasted\u hours
值替换每行中的“1”也可以,然后我可以groupby().sum()
向下。注:每行可能有多个“1”值。最终找到并使用掩码
对每一列进行优化。缺点是我必须为每一列列出它
df['genre_Action & Adventure'].mask(df['genre_Action & Adventure'] == 1, df['time_watched_hours'], inplace=True)
发布数据,而不是图片。还包括您的expecred输出