【发布时间】:2018-01-11 04:50:36
【问题描述】:
在这个数据框(一个更大的数据框的一部分)中,我想将蓝色与红色分开,以便它们位于两个不同的列上。 (每个人只有两种颜色。)
Person Buckets_used
0 Jerry_blue 180
1 Jerry_red 20
2 Tomba_blue 30
3 Tomba_red 600
我想创建下面的数据框,但我不确定如何。这里应该使用正则表达式还是有更有效的方法?
Person Buckets_used Person Buckets_used
0 Jerry_blue 180 Jerry_red 20
1 Tomba_blue 30 Tomba_red 600
当我尝试执行@Wen 提出的以下建议解决方案时:
df=df.set_index('Key').groupby(level=0).apply(lambda x : np.concatenate(x.values.tolist())).apply(pd.Series)
我在不正确的列中得到了一些值。
Person Buckets_used Person Buckets_used
0 Jerry_blue 180 Jerry_red 20
1 Tomba_red 600 Tomba_blue 30
有没有办法解决这个问题,让所有的红色都在一个列下,而蓝色在另一列下?
【问题讨论】:
标签: python pandas matplotlib seaborn