>>> df = pd.DataFrame({'ID':range(5),'A':range(0,5),'B':['Z','Y','X','W','V']})
>>> df
ID A B
0 0 0 Z
1 1 1 Y
2 2 2 X
3 3 3 W
4 4 4 V
>>> df.melt(id_vars=['ID'], value_vars=['A','B'], var_name='var_name', value_name='val_name')
ID var_name val_name
0 0 A 0
1 1 A 1
2 2 A 2
3 3 A 3
4 4 A 4
5 0 B Z
6 1 B Y
7 2 B X
8 3 B W
9 4 B V
Atributo Valor
Registro
1 120 mil conformar 1.0
1 190 solo recibir 1.0
2 120 mil conformar 1.0
2 190 solo recibir 1.0
3 100 mucho actividad 1.0
3 190 solo recibir 1.0
搜索pandas.meltPandas.melt链接,未找到dfNull选项 我发现了一个类似的代码:
基于此链接pandas.melt example case
尝试以这种方式格式化代码,看看从“dfNull”到“df”的更改是否有效
尝试指定
id_vars
和value_vars
我认为您的问题是“Registro”在数据帧中大写,但在melt命令中没有大写
这似乎有效:
这将生成以下数据帧:
现在我们可以melt(我使用“Registro”作为新数据帧的索引)还需要注意的是,我删除了产生结果的NaN列,并对索引进行排序,使其符合您期望的顺序
结果:
相关问题 更多 >
编程相关推荐