Python 复制数据帧中的行和列
我想在一个包含36列和28行的pandas数据帧中多次(30次)扩展和复制行和列。因此,结果应为1.080 x 840矩阵 例如:Python 复制数据帧中的行和列,python,pandas,replicate,Python,Pandas,Replicate,我想在一个包含36列和28行的pandas数据帧中多次(30次)扩展和复制行和列。因此,结果应为1.080 x 840矩阵 例如: ARG BRA BRN AUS 2.93 3.06 3.56 AUT 5.36 5.47 2.14 BEL 5.36 5.47 2.14 结果应该是: ARG ARG BRA BRA BRN BRN AUS 2.93 2.93 3.06 3.06 3.56 3
ARG BRA BRN
AUS 2.93 3.06 3.56
AUT 5.36 5.47 2.14
BEL 5.36 5.47 2.14
结果应该是:
ARG ARG BRA BRA BRN BRN
AUS 2.93 2.93 3.06 3.06 3.56 3.56
AUS 2.93 2.93 3.06 3.06 3.56 3.56
AUT 5.36 5.36 5.47 5.47 2.14 2.14
AUT 5.36 5.36 5.47 5.47 2.14 2.14
BEL 5.36 5.36 5.47 5.47 2.14 2.14
BEL 5.36 5.36 5.47 5.47 2.14 2.14
有没有一个简单的方法可以做到这一点?提前谢谢你 可以通过和:
但随后会得到重复的列名,因此按名称查看是有问题的:
print (df['ARG'])
ARG ARG
AUS 2.93 2.93
AUS 2.93 2.93
AUT 5.36 5.36
AUT 5.36 5.36
BEL 5.36 5.36
要防止重复数据消除,可以使用列名称:
df.columns = [f'{a}_{b+1}' for a, b in zip(df.columns, np.arange(df.shape[1]) % N)]
print (df)
ARG_1 ARG_2 BRA_1 BRA_2 BRN_1 BRN_2
AUS 2.93 2.93 3.06 3.06 3.56 3.56
AUS 2.93 2.93 3.06 3.06 3.56 3.56
AUT 5.36 5.36 5.47 5.47 2.14 2.14
AUT 5.36 5.36 5.47 5.47 2.14 2.14
BEL 5.36 5.36 5.47 5.47 2.14 2.14
BEL 5.36 5.36 5.47 5.47 2.14 2.14
df.columns = [f'{a}_{b+1}' for a, b in zip(df.columns, np.arange(df.shape[1]) % N)]
print (df)
ARG_1 ARG_2 BRA_1 BRA_2 BRN_1 BRN_2
AUS 2.93 2.93 3.06 3.06 3.56 3.56
AUS 2.93 2.93 3.06 3.06 3.56 3.56
AUT 5.36 5.36 5.47 5.47 2.14 2.14
AUT 5.36 5.36 5.47 5.47 2.14 2.14
BEL 5.36 5.36 5.47 5.47 2.14 2.14
BEL 5.36 5.36 5.47 5.47 2.14 2.14