将数据框重塑为具有无限行的数据框,并在无值的情况下填充零

发布于 2021-01-29 15:00:01

有没有一种方法可以将DataFrame重塑为具有不受限制的行的另一个。我只想要一个3列的DataFrame,无论DataFrame中要包含多少行?

例如,

letters = pd.DataFrame({'Letters' : ['A', 'B', 'C','D', 'E', 'F', 'G', 'H', 
'I','J']})

Letters
0   A
1   B
2   C
3   D
4   E
5   F
6   G
7   H
8   I
9   J

我想用零填充来重塑它,而没有任何价值。

first   second  third
A       B       C
D       E       F
G       H       I
J       0       0

据我所知,在numpy reshape方法中,您需要明确标识要多少列和行。

关注者
0
被浏览
61
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    采用:

    df = (pd.DataFrame(letters.groupby(letters.index // 3)['Letters']
                              .apply(list)
                              .values
                              .tolist(), columns=['first','second','third']).fillna(0))
    
    print (df)
      first second third
    0     A      B     C
    1     D      E     F
    2     G      H     I
    3     J      0     0
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看