如何切片数据框并将其重组为新的数据框

战斗

我得到这样的数据框:

A   YEAR2000    B   YEAR2001    C   YEAR2002
a      1        b     3         a      7
b      3        c     5         e      6
c      6        d     2         f      3
                e     1         g      0

对每两列进行切片,然后重新组织以形成新的数据框,如下所示:

type    YEAR2000    YEAR2001    YEAR2002
a         1                         7
b         3            3    
c         6            5    
d                      2    
e                      1            6
f                                   3
g                                   0

我已经尝试过,pd.concat()但是出了点问题!谢谢。

然后陆

两次使用合并将实现此目的。

df1 = pd.DataFrame([['a', 1], ['b', 3], ['c', 6]],columns=['letter', 'number'])
df2 = pd.DataFrame([['b', 3], ['c', 5], ['d', 2], ['e', 1]],columns=['letter', 'number'])
df3 = pd.DataFrame([['a', 7], ['e', 6], ['f', 3], ['g', 0]],columns=['letter', 'number'])
pd.merge(pd.merge(df1, df2, how='outer', on='letter'), df3, how='outer', on='letter')

为了更干净的外观:

df1.merge(df2, how='outer', on='letter').merge(df3, how='outer', on='letter')


如果您有多个数据框,请将它们放入列表中,并使用带有reduce的理解。

from functools import reduce
dfs = [df1, df2, df3]
reduce(lambda left, right: left.merge(right, how='outer', on='letter'), dfs)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章