我有一个像这样的数据框 -
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
....
真的很感谢你的帮助。
谢谢!
答案 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列。最后,您可以将这三个数据框合并在一起。