如何在 DataFrame 中重复列 N 次?

Nas*_*sov 5 python dataframe pandas


我有一个包含一列的数据框,我想获得一个包含 N 列的数据框,所有这些都与第一个相同。我可以简单地通过以下方式复制它:

df[['new column name']] = df[['column name']]
Run Code Online (Sandbox Code Playgroud)

但我必须制作 1000 多个相同的列,这就是它不起作用的原因。一个重要的事情是列中的数字应该改变,例如如果第一列是 0,则第 n 列是 n,前一列是 n-1

sop*_*les 1

假设您有一个df:, 列名为“company_name”,其中包含 8 个公司:

df = {"company_name":{"0":"Telia","1":"Proximus","2":"Tmobile","3":"Orange","4":"Telefonica","5":"Verizon","6":"AT&T","7":"Koninklijke"}}

  company_name
0        Telia
1     Proximus
2      Tmobile
3       Orange
4   Telefonica
5      Verizon
6         AT&T
7  Koninklijke
Run Code Online (Sandbox Code Playgroud)

您可以使用looprange来确定要创建多少个相同的列,然后执行以下操作:

for i in range(0,1000):
    df['company_name'+str(i)] = df['company_name']
Run Code Online (Sandbox Code Playgroud)

shape这导致df

df.shape
(8, 1001)
Run Code Online (Sandbox Code Playgroud)

即它复制相同的列 1000 次。列的名称duplicated将与原始列的名称相同,并在末尾加上一个整数 (=+1):

'company_name', 'company_name0', 'company_name1', 'company_name2','company_name..N'
Run Code Online (Sandbox Code Playgroud)