python通过子字符串创建列

python通过子字符串创建列,python,pandas,data-science,melt,Python,Pandas,Data Science,Melt,我有数据帧: subject A_target_word_gd A_target_word_fd B_target_word_gd B_target_word_fd subject_type 1 1 2 3 4 mild 2

我有数据帧:

         subject           A_target_word_gd  A_target_word_fd B_target_word_gd  B_target_word_fd  subject_type 
           1                      1             2                3                    4             mild 
           2                      11            12               13                   14             moderate
我想把它融化成一个数据帧,看起来:

     cond    subject    subject_type     value_type   value
      A         1        mild             gd           1           
      A         1        mild             fg           2           
      B         1        mild             gd           3            
      B         1        mild             fg           4  
      A         2        moderate         gd           11           
      A         2        moderate         fg           12           
      B         2        moderate         gd           13            
      B         2        moderate         fg           14          
...

...
意思是,基于分隔符融化


最好的方法是什么?

您可以使用
str.split()
来融化分隔符,这在
R
和python中都有解释?然后你可以放下
word
column我看不到melt在这里的任何应用。您可以用不同的方式生成新列
df['cond_new']=df['cond']。应用(lambda x:x.split()[0],如果x不是其他x)
并执行相同操作以获取另一列,或者可以跟随anky_91@DataPsycho对不起,我很困惑,没有把原始的df写好,请看我的编辑这是否回答了你的问题?