在 DataFrame 中重复列

Mon*_*ica 1 python pandas

在 DataFrame 中重复列的正确方法是什么?

我正在研究 df:

  England    Germany    US
0 -3.3199    -3.31      496.68
1 1004.0     4.01       4.01
2 4.9794     4.97       1504.97
3 3.1766     2003.17    3.17
Run Code Online (Sandbox Code Playgroud)

我想获得:

  England  England   Germany  Germany   US        US    
0 -3.3199  -3.3199   -3.31    -3.31     496.68    496.68    
1 1004.0   1004.0    4.01     4.01      4.01      4.01 
2 4.9794   4.9794    4.97     4.97      1504.97   1504.97
3 3.1766   3.1766    2003.17  2003.17   3.17      3.17
Run Code Online (Sandbox Code Playgroud)

我很难从原始 DataFrame 中获取标头并将其加倍:

headers_double = [x for x in headers for i in range(2)]
Run Code Online (Sandbox Code Playgroud)

随后我尝试使用新标头创建 df:

df.columns = [x for x in headers_double]
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的思维方式是错误的。有什么建议如何解决这个问题吗?

Mon*_*ica 5

我刚刚想出了另一个我想分享的解决方案。也许对其他人有用。

print(df[np.repeat(df.columns.values,2)])
Run Code Online (Sandbox Code Playgroud)