Python 将dataframe重塑为具有无限行的dataframe,并在没有值的地方填充零

Python 将dataframe重塑为具有无限行的dataframe,并在没有值的地方填充零,python,pandas,numpy,dataframe,reshape,Python,Pandas,Numpy,Dataframe,Reshape,是否有一种方法可以将数据帧重塑为另一个具有不受限制行的数据帧。我只想要一个有3列的数据框,不管数据框中有多少行 比如说, 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

是否有一种方法可以将数据帧重塑为另一个具有不受限制行的数据帧。我只想要一个有3列的数据框,不管数据框中有多少行

比如说,

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重塑方法中,您需要明确标识需要多少列和行。

使用:

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
你可以用
arr.Reformate((-1,3))
告诉NumPy将
arr
重塑为
(n,3)
,其中
n
是根据
arr
的大小和其他给定维度的大小(例如,在本例中,值3)为您计算的

印刷品

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

所以你想把它分成三列?非常感谢!非常感谢你!这是一个非常简单的解决方案,我没想到
  first second third
0     A      B     C
1     D      E     F
2     G      H     I
3     J      0     0