以现有数据框的行和列为条件创建新数据框

时间:2018-04-26 13:30:23

标签: pandas dataframe

我有一个具有以下结构的数据框:

Name   CIN   EBV    GS    MSI
ab1    0.4   0.3   0.45   0.7
cd2    0.25  0.1   0.3    0.4
...    ...   ...   ...    ...

从现有的数据框架中,我想创建一个新的行,其中包含新的行,其中列A的值与每个其他列的名称相对应,并且其值与现有的列相对应。因为我无法表达自己比这更好,我知道这个解释有点混乱,这里是我想要获得的输出数据框的草稿:

Name    C_S    P 
ab1     CIN   0.4
ab1     EBV   0.3
ab1     GS    0.45
ab1     MSI   0.7
cd2     CIN   0.25
cd2     EBV   0.1
cd2     GS    0.3
cd2     MSI   0.4

1 个答案:

答案 0 :(得分:0)

您想要pd.melt

pd.melt(df, id_vars=['Name'])
  Name variable  value
0  ab1      CIN   0.40
1  cd2      CIN   0.25
2  ab1      EBV   0.30
3  cd2      EBV   0.10
4  ab1       GS   0.45
5  cd2       GS   0.30
6  ab1      MSI   0.70
7  cd2      MSI   0.40