如何同时融化两列? [英] How to melt 2 columns at the same time?
本文介绍了如何同时融化两列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在熊猫中,我具有以下数据框:
In Pandas, I have the following data frame:
id1 id2 t1 l1 t2 l2
0 1 2 a b c d
1 3 4 g h i j
我想一次融化两列.也就是说,所需的输出是:
I would like to melt two columns at once. That is, the desired output is:
id1 id2 tz lz
0 1 2 a b
1 1 2 c d
2 3 4 g h
3 3 4 i j
我知道标准熔化:
d.melt(id_vars=['id1', 'id2'],
value_vars=['t1', 't2', 'l1', 'l2'])
但是会堆叠所有列
id1 id2 variable value
0 1 2 t1 a
1 3 4 t1 g
2 1 2 t2 c
3 3 4 t2 i
4 1 2 l1 b
5 3 4 l1 h
6 1 2 l2 d
7 3 4 l2 j
我如何一次融化两列?像这样:
How could I melt two columns at once? Something like:
d.melt(id_vars=['id1', 'id2'],
value_vars={('t1', 'l1'): 'tz', ('t2', 'l2'): 'lz'})
会很棒.
推荐答案
这是wide_to_long
pd.wide_to_long(df,['t','l'],i=['id1','id2'],j='drop').reset_index(level=[0,1])
Out[52]:
id1 id2 t l
drop
1 1 2 a b
2 1 2 c d
1 3 4 g h
2 3 4 i j
这篇关于如何同时融化两列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文