使用现有条目中的其他条目来构建数据框

时间:2015-09-09 17:12:03

标签: python pandas dataframe

我有一个像这样的数据框 -

df:
 SAMPLE_ID ROW COL  LAB_L  LAB_A  LAB_B 
     0      1   1   1  61.41 -24.27 -50.02
     1      2   1   2  61.79 -23.91 -49.86
     2      3   1   3  61.55 -24.08  -50.1
     3      4   1   4  61.75 -23.77 -49.98
     4      5   1   5  61.61 -24.06  -50.3

我想要的是具有三个条目的数据帧,每个LAB一个。

在这种情况下,我想要 -

 SAMPLE_ID ROW COL  Value  Field 
     0      1   1   61.41   LAB_L
     0      1   1   -24.27  LAB_A
     0      1   1   -50.02  LAB_B
     1      2   1   61.79   LAB_L
     1      2   1   -23.91  LAB_A
     1      2   1   -49.86  LAB_B
     ....

真的很感谢你的帮助。

谢谢!

2 个答案:

答案 0 :(得分:2)

只需使用melt功能:

import pandas as pd

pd.melt(df, id_vars=['SAMPLE_ID', 'ROW', 'COL'], var_name='Field', value_name='Value')

答案 1 :(得分:0)

您可以创建初始数据帧的三个副本,然后在每个中删除两列,即df_1将具有cols = [SAMPLE_ID,ROW COL,LAB_L],df_2将具有cols = [SAMPLE_ID,ROW COL,LAB_A]等然后,您可以将LAB_ *列重命名为Value,然后添加具有相应实验室名称的Field列。最后,您可以将这三个数据框合并在一起。