Si j'ai un Dataframe Pandas comme celui-ci:
A B C D 1 8 8 8 8 2 9 9 9 9 3 7 7 7 7 4 2 2 2 2
Comment puis-je le répéter x nombre de fois? Par exemple, si je voulais le répéter 3 fois, j'obtiendrais quelque chose comme ceci:
A 1 8 2 9 3 7 4 2
3 Réponses :
Utilisez concat:
(pd.concat([df] * (n+1), axis=1, ignore_index=True)
.rename(lambda x: chr(ord('A')+x), axis=1))
A B C D
1 8 8 8 8
2 9 9 9 9
3 7 7 7 7
4 2 2 2 2
Si vous voulez que les colonnes soient renommées, utilisez renommer :
n = 3 pd.concat([df] * (n+1), axis=1, ignore_index=True) 0 1 2 3 1 8 8 8 8 2 9 9 9 9 3 7 7 7 7 4 2 2 2 2
Vous pouvez utiliser concat comme @coldspeed did .
Ou vous pouvez définir manuellement.
df['B'] = df.A df['C'] = df.A df['D'] = df.A print(df) A B C D 1 8 8 8 8 2 9 9 9 9 3 7 7 7 7 4 2 2 2 2
Vous pouvez utiliser Numpy pour répéter les valeurs et reconstruire le dataframe.
n = 3
pd.DataFrame(np.tile(df.values, n + 1), columns = df.columns.tolist()+list('BCD'))
A B C D
0 8 8 8 8
1 9 9 9 9
2 7 7 7 7
3 2 2 2 2