制作许多重复的列并自动重命名

wwl*_*wwl 0 python dataframe pandas

我在Python中使用pandas.

import pandas as pd

假设我有一个数据帧

pd.DataFrame({"A": [1,2,3], "B": [3,2,1]})
Run Code Online (Sandbox Code Playgroud)

我想为每列创建三个副本,并将列命名为A1到A4和B1到B4.期望输出的示例:

pd.DataFrame({"A1": [1,2,3], "A2": [1,2,3], "A3": [1,2,3], "A4": [1,2,3], "B1": [3,2,1], "B2": [3,2,1], "B3": [3,2,1], "B4": [3,2,1]})
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Flo*_*oor 5

pd.concatadd_suffixie一起使用

ndf = pd.concat([df.add_suffix(str(i+1)) for i in range(4)],1)
Run Code Online (Sandbox Code Playgroud)

输出:

  A1  B1  A2  B2  A3  B3  A4  B4
0   1   3   1   3   1   3   1   3
1   2   2   2   2   2   2   2   2
2   3   1   3   1   3   1   3   1

对于排序列使用 ndf = ndf.sort_index(1)