如果我有一个这样的Pandas Dataframe:
A
1 8
2 9
3 7
4 2
如何重复x次?例如,如果我想重复3次,我会得到这样的东西:
A B C D
1 8 8 8 8
2 9 9 9 9
3 7 7 7 7
4 2 2 2 2
答案 0 :(得分:4)
使用concat
:
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
如果要重命名列,请使用rename
:
(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
答案 1 :(得分:1)
您可以使用Numpy重复这些值并重建数据框。
POST
答案 2 :(得分:0)
您可以像{coldspeed did一样使用concat
。
或者您可以手动设置它们。
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