我正在寻找一种方法将我的数据框列转换为行。以下是我的示例数据框:
mylist= [['xx'], [None, 'yy'], ['xx', None], ['xx',None],['xx','yy']]
pd.DataFrame(mylist,index=['A','B','C','D','E'],columns=['Col1','Col2'])
输入数据帧:
-------------------
Ind | Col1 | Col2 |
-------------------
A | xx | None |
B | None | yy |
C | xx | None |
D | xx | None |
E | xx | yy |
-------------------
我想将我的列拆分为数据框中的单独行。下面是我想要的输出的样子。谁能建议如何实现以下目标。
所需的数据框:
------------------------
Ind | Values | Columns |
------------------------
A | xx | Col1 |
B | yy | Col2 |
C | xx | Col1 |
D | xx | Col1 |
E | xx | Col1 |
E | xx | Col2 |
------------------------
谢谢,
呵呵
请您参考如下方法:
另一种选择是使用melt:
longDf = pd.melt(df.reset_index(), id_vars=['index'], var_name=['Columns'])
longDf[pd.notnull(longDf.value)]
index Columns value
0 A Col1 xx
2 C Col1 xx
3 D Col1 xx
4 E Col1 xx
6 B Col2 yy
9 E Col2 yy
