Python 如何将数据帧列转换为行?

Python 如何将数据帧列转换为行?,python,pandas,dataframe,Python,Pandas,Dataframe,我有这样一个数据帧: A = ID Material1 Materia2 material3 24 1 0 0 12 1 1 0 24 0 0 2 A = ID Materials 24 Material1 12 Material1 12 Material2 24 Material3

我有这样一个数据帧:

A =   ID Material1 Materia2 material3 
      24   1        0        0 
      12   1        1        0
      24   0        0        2
A =   ID  Materials
      24   Material1
      12   Material1 
      12   Material2
      24   Material3 
      24   Material3 
我希望在一列中包含所有信息,如下所示:

A =   ID Material1 Materia2 material3 
      24   1        0        0 
      12   1        1        0
      24   0        0        2
A =   ID  Materials
      24   Material1
      12   Material1 
      12   Material2
      24   Material3 
      24   Material3 

我必须保存同样发生的材料吗?有人知道如何保存吗

这是一种重复:

s = df.set_index('ID').stack()
s.repeat(s).reset_index().drop(0, axis=1)
输出:

   ID    level_1
0  24  Material1
1  12  Material1
2  12   Materia2
3  24  material3
4  24  material3

df.set\u index…
,尝试用实际的数据帧变量替换它。否则,您应该指出什么不起作用。代码的第二行不起作用我得到错误:ValueError:invalid literal for long(),以10为基数:“NO”不是不起作用的代码。您的数据不干净,它包含一个非数值
NO
。你想用它做什么?