重塑熊猫中的数据框

开心宝贝

假设我有这个数据框:

df = pd.DataFrame({'n':[0 ,1 ,0 ,0 ,1 ,1 ,0 ,1],'l':[12 ,16 ,92, 77 ,32 ,47, 22, 14], 'cols':['col1','col1','col1','col1','col2','col2','col2','col2']})

这就是我想要得到的:

col1    col2
l   n   l   n
12  0   32  1
16  1   47  1
92  0   22  0
77  0   14  1

我一直在玩set_indexand stack/unstack方法,但没有成功...

忘了它
import pandas as pd

df = pd.DataFrame(
    {'n':[0 ,1 ,0 ,0 ,1 ,1 ,0 ,1],'l':[12 ,16 ,92, 77 ,32 ,47, 22, 14],
     'cols':['col1','col1','col1','col1','col2','col2','col2','col2']})

df['index'] = df.groupby(['cols']).cumcount()
result = df.pivot(index='index', columns='cols')
print(result)
#           l           n      
# cols   col1  col2  col1  col2
# index                        
# 0        12    32     0     1
# 1        16    47     1     1
# 2        92    22     0     0
# 3        77    14     0     1

如果您关心“ MultiIndex”列中标签的顺序,则可以使用“堆栈”和“堆栈”来精确复制发布的结果:

result = result.stack(level=0).unstack(level=1)
print(result)

# cols   col1     col2   
#           l  n     l  n
# index                  
# 0        12  0    32  1
# 1        16  1    47  1
# 2        92  0    22  0
# 3        77  0    14  1

在寻找解决方案时,回头思考通常会很有用。

从所需的DataFrame开始,然后问自己,什么操作可能导致所需的DataFrame。在这种情况下,想到的操作是pd.pivot接下来的问题是,数据帧,是什么something,需要使

desired = something.pivot(index='index', columns='cols') 

通过观察其他例子pivot行动,很明显不是something必须等于

   cols   l  n  index
0  col1  12  0      0
1  col1  16  1      1
2  col1  92  0      2
3  col1  77  0      3
4  col2  32  1      0
5  col2  47  1      1
6  col2  22  0      2
7  col2  14  1      3

然后,你看你能不能找到一种方式来按摩dfsomething重新工作向后,按摩somethingdf......从这个角度来看,在这种情况下,缺少的环节变得明显:something具有index该列df所缺少的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重塑熊猫中的数据框

来自分类Dev

如何重塑熊猫中的数据框?

来自分类Dev

动态重塑熊猫中的数据框

来自分类Dev

熊猫:重塑数据框

来自分类Dev

重塑数据框熊猫

来自分类Dev

如何重塑熊猫数据框?

来自分类Dev

用数据透视表重塑熊猫中的数据框

来自分类Dev

重塑熊猫中的数据框以水平排列数据

来自分类Dev

根据列中的重复值重塑熊猫数据框

来自分类Dev

根据两列中的值重塑熊猫数据框

来自分类Dev

如何在python熊猫中重塑数据框

来自分类Dev

数据透视后重塑熊猫数据框

来自分类Dev

熊猫数据框重塑以包含比较数据

来自分类Dev

重塑熊猫数据框,展平数据

来自分类Dev

从行到列重塑熊猫数据框

来自分类Dev

熊猫使用NaN旋转或重塑数据框

来自分类Dev

重塑熊猫数据框的堆栈/展开

来自分类Dev

重塑熊猫数据框(部分转置)

来自分类Dev

填充和重塑熊猫数据框

来自分类Dev

如何使用Pivot重塑熊猫数据框?

来自分类Dev

用重复值重塑熊猫数据框

来自分类Dev

使用多个索引重塑熊猫数据框

来自分类Dev

重塑熊猫数据框以匹配特定输出

来自分类Dev

重塑熊猫数据框(部分转置)

来自分类Dev

如何重塑/爆炸熊猫数据框?

来自分类Dev

重塑熊猫数据框分组变量

来自分类Dev

在多列上重塑熊猫数据框

来自分类Dev

重塑数据框中的列

来自分类Dev

在R中重塑数据框