我有一个one-hot编码的 Dataframe ,类似于下面的一个:
| 评论_评分|动作&冒险|经典电影|电视喜剧|电视悬疑片|
| - ------| - ------| - ------| - ------| - ------|
| 四个|无|无|1个|无|
| 十个|1个|无|无|无|
| 五个|1个|无|无|无|
| 七|无|1个|无|无|
| 八个|无|无|1个|无|
| 七|无|无|无|1个|
它包含40多个列,我认为将每个列名都放入函数中是不可行的。
如何旋转或重新排列表格,使其看起来像下面的表格:
| 体裁|评论_评分|
| - ------| - ------|
| 动作&冒险|十个|
| 动作&冒险|五个|
| 经典电影|七|
| 电视喜剧|四个|
| 电视喜剧|八个|
| 电视悬疑片|七|
我希望每个流派有一个行的每一个审查评分给出,以便绘制一个箱线图
我试过melt和wide_to_long函数,但无法得到所需的数据框。请咨询!
4条答案
按热度按时间9q78igpj1#
在panda 1.5.0+中,存在
pd.from_dummies
或者,使用
pd.DataFrame.idxmax
c2e8gylq2#
如果您没有1.5.0+版本的panda,您可以:
huwehgph3#
您可以使用
iloc
和idxmax(axis=1)
查找column_name
,然后使用pandas.Series.to_frame()
和pandas.DataFrame.assign
向旧 Dataframe 添加新列。输出:
zkure5ic4#
你好,我希望这对你有帮助,我用for循环
输出: