Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 复制数据帧中的行和列_Python_Pandas_Replicate - Fatal编程技术网

Python 复制数据帧中的行和列

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

我想在一个包含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.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