Pandas 如何根据循环的值添加dataframe列

Pandas 如何根据循环的值添加dataframe列,pandas,dataframe,import,Pandas,Dataframe,Import,我有一个python中的数据帧,称为df。它包含两个变量,名称和年龄。我想在python中做一个循环,生成10个新的列数据帧,称为Age_1、Age_2、Age_3…Age_10,其中包含Age的值 到目前为止,我已经尝试: import pandas as pd data = [['tom', 10], ['nick', 15], ['juli', 14]] df = pd.DataFrame(data, columns = ['Name', 'Age']) for i in range(1,

我有一个python中的数据帧,称为df。它包含两个变量,名称和年龄。我想在python中做一个循环,生成10个新的列数据帧,称为Age_1、Age_2、Age_3…Age_10,其中包含Age的值

到目前为止,我已经尝试:

import pandas as pd
data = [['tom', 10], ['nick', 15], ['juli', 14]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])
for i in range(1,11):
     df[Age_'i'] = df['Age']

只需将此
用于循环

for x in range(0,11):
    df['Age_'+str(x)]=df['Age']

for x in range(0,11):
    df['Age_{}'.format(x)]=df['Age']
for x in range(0,11):
    df['Age_%s'%(x)]=df['Age']

for x in range(0,11):
    df['Age_{}'.format(x)]=df['Age']
for x in range(0,11):
    df['Age_%s'%(x)]=df['Age']
现在,如果您打印
df
,您将获得所需的输出:


只需将此
用于循环

for x in range(0,11):
    df['Age_'+str(x)]=df['Age']

for x in range(0,11):
    df['Age_{}'.format(x)]=df['Age']
for x in range(0,11):
    df['Age_%s'%(x)]=df['Age']

for x in range(0,11):
    df['Age_{}'.format(x)]=df['Age']
for x in range(0,11):
    df['Age_%s'%(x)]=df['Age']
现在,如果您打印
df
,您将获得所需的输出:


您可以使用
。分配
**
解包

df.assign(**{f'Age_{i}' : df['Age'] for i in range(11)})

您可以使用
。分配
**
解包

df.assign(**{f'Age_{i}' : df['Age'] for i in range(11)})

df[f'Age{i}]=
:。但是你真的只是想把这个专栏重复10次吗?
df[f'Age_{i}]=
:。但你真的只是想把这个专栏重复10次吗?