微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Pandas中的模块熔体有效地熔解多根色谱柱?

如何解决如何使用Pandas中的模块熔体有效地熔解多根色谱柱?

目标是取消显示下表

  Activity General  m1   t1  m2   t2  m3   t3
0       P1      AA  A1  TA1  A2  TA2  A3  TA3
1       P2      BB  B1  TB1  B2  TB2  B3  TB3

转换为以下格式

    Activity   General M Task
0   P1 AA A1  TA1 
1   P1 AA A2  TA2 
2   P1 AA A3  TA3 
3   P2 BB B1  TB1 
4   P2 BB B2  TB2
5   P2 BB B3  TB3

基于一些阅读,可以使用模块melt来实现所需的目标。

import pandas as pd
from pandas import DataFrame
list_me = [['P1','AA','A1','TA1','A2','TA2','A3','TA3'],['P2','BB','B1','TB1','B2','TB2','B3','TB3']]

df = DataFrame (list_me)
df.columns = ['Activity','General','m1','t1','m2','t2','m3','t3']   
melted_form=pd.melt(df,id_vars=['Activity','General'],var_name='m1',value_name='new_col')

但是,在网络上找到的大多数示例仅用于解决单列问题。我正在考虑使用for循环来循环m1 m2m3并同时合并结果。这是因为实际上m_i和t_i对在数百的范围内(其中i是索引)

但是,我想知道有没有比循环更有效的方法

p.s。我已经尝试过像OP中那样的建议,但是,它没有给出预期的输出

解决方法

如果我理解您的问题,则可以使用pd.wide_to_long

label = '<span class="myClz">' + {Student[name] +  '(' + "20" + ')' + '</span>'}

.myClz:not(:first-child) {
     margin-left: 2rem;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。