【问题标题】:python pandas melt column by substringpython pandas按子串融化列
【发布时间】:2020-04-18 13:04:52
【问题描述】:

我有数据框:

         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          
...

...

意思是,根据分隔符来融化。

最好的方法是什么?

【问题讨论】:

  • df[['cond','level','word','value_type']] = df['cond'].str.split('_',expand=True) ?那么您可以删除word
  • 我在这里没有看到任何使用 melt 的方法。您可以通过不同的方式生成新列。 df['cond_new'] = df['cond'].apply(lambda x: x.split()[0] if x is not None else x) 并执行相同操作以获取另一列,或者可以关注 anky_91
  • @DataPsycho 很抱歉我很困惑,没有写好的原始df,请看我的编辑

标签: python pandas data-science melt


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2014-04-03
  • 2018-02-27
  • 2020-04-20
  • 2018-01-22
  • 1970-01-01
  • 2016-12-16
  • 2019-10-20
相关资源
最近更新 更多