有没有一种方法可以将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方法中,您需要明确标识要多少列和行。
采用:
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