我现在有一个像这样的大屏幕:

Movie 1 Movie 2
1st choice 2nd choice
2nd choice 1st choice

我想要一个如下所示的数据帧:

1st Choice 2nd Choice
Movie 1 Movie 2
Movie 2 Movie 1

我找不到一种方法来重新组织我的框架,使它像这样交换列名和列值.

我试过迭代行,并创建将列名与它们的值和顺序适当匹配的列表,但似乎工作不正常

我也试过为第一 Select 、第二 Select 等创建一个新的列,这些列获取列名并将其用作列值,但我不断得到错误.

推荐答案

meltignore_index=Falsepivot,但不指定index:

out = (df.melt(ignore_index=False)
         .pivot(columns='value', values='variable')
         .rename_axis(index=None, columns=None)  # optional
      )

更classic /冗长的替代方案:

out = (df.reset_index().melt('index')
         .pivot(index='index', columns='value', values='variable')
         .rename_axis(index=None, columns=None)
       )

输出:

  1st choice 2nd choice
0    Movie 1    Movie 2
1    Movie 2    Movie 1

Python相关问答推荐

Django管理面板显示字段最大长度而不是字段名称

替换字符串中的多个重叠子字符串

Python daskValue错误:无法识别的区块管理器dask -必须是以下之一:[]

难以在Manim中正确定位对象

图像 pyramid .难以创建所需的合成图像

如何过滤包含2个指定子字符串的收件箱列名?

删除字符串中第一次出现单词后的所有内容

当独立的网络调用不应该互相阻塞时,'

DataFrames与NaN的条件乘法

实现自定义QWidgets作为QTimeEdit的弹出窗口

joblib:无法从父目录的另一个子文件夹加载转储模型

在Python 3中,如何让客户端打开一个套接字到服务器,发送一行JSON编码的数据,读回一行JSON编码的数据,然后继续?

Python避免mypy在相互引用中从另一个类重定义类时失败

如何在Python请求中组合多个适配器?

Beautifulsoup:遍历一个列表,从a到z,并解析数据,以便将其存储在pdf中.

BeautifulSoup-Screper有时运行得很好,很健壮--但有时它失败了::可能这里需要一些更多的异常处理?

一个telegram 机器人应该发送一个测验如何做?""

你能把函数的返回类型用作其他地方的类型吗?'

有了Gekko,可以创建子模型或将模型合并在一起吗?

无法在盐流道中获得柱子