В пандах вы не можете иметь два столбца с одинаковым именем, если вы попытаетесь создать еще один столбец с именем Industrial production
, он заменит существующий:
In [2]: df
Out[2]:
Region Industrial production
0 Italia 5669
1 Nord-ovest 1046
2 Piemonte 447
In [3]: second = df.columns[1]
In [4]: second
Out[4]: 'Industrial production'
In [5]: df[second] = second
In [6]: df
Out[6]:
Region Industrial production
0 Italia Industrial production
1 Nord-ovest Industrial production
2 Piemonte Industrial production
Вам нужно дать этот новый столбецдругое имя, например Industrial production2
.Затем вы можете создать его следующим образом:
In [2]: df
Out[2]:
Region Industrial production
0 Italia 5669
1 Nord-ovest 1046
2 Piemonte 447
In [3]: second = df.columns[1]
In [3]: df[second + "2" ] = second
In [4]: df
Out[4]:
Region Industrial production Industrial production2
0 Italia 5669 Industrial production
1 Nord-ovest 1046 Industrial production
2 Piemonte 447 Industrial production
В качестве альтернативы вы можете использовать df.assign следующим образом:
In [3]: df
Out[3]:
Region Industrial production
0 Italia 5669
1 Nord-ovest 1046
2 Piemonte 447
In [4]: df = df.assign(**{df.columns[1] + "2": df.columns[1]})
In [5]: df
Out[5]:
Region Industrial production Industrial production2
0 Italia 5669 Industrial production
1 Nord-ovest 1046 Industrial production
2 Piemonte 447 Industrial production