-1

Is this possible?

i = 1
for var in ['var1', 'var2', 'var3', 'var4']:
    eval(var) = i
    i + 1

Somehow I want to create a new variable (with new name) with each loop.

[EDIT:] A lot of people said, it's not useful so below is my actual code I wanted to use it for:

import pandas as pd

# Convert categorical variables to dummies
PPE_WAW_DISTRICT = pd.get_dummies(X['PPE_WAW_DISTRICT'], prefix='PPE_WAW_DISTRICT')
PPE_TARIFF_TYPE = pd.get_dummies(X['PPE_TARIFF_TYPE'], prefix='PPE_TARIFF_TYPE')
PPE_OSD = pd.get_dummies(X['PPE_OSD'], prefix='PPE_OSD')
VariantProdEE = pd.get_dummies(X['VariantProdEE'], prefix='VariantProdEE')
CUS_OWNER = pd.get_dummies(X['CUS_OWNER'], prefix='CUS_OWNER')
CUS_LEGAL_FORM = pd.get_dummies(X['CUS_LEGAL_FORM'], prefix='CUS_LEGAL_FORM')
CUS_CITY = pd.get_dummies(X['CUS_CITY'], prefix='CUS_CITY')
CUS_DISTRICT = pd.get_dummies(X['CUS_DISTRICT'], prefix='CUS_DISTRICT')

X.drop(['PPE_WAW_DISTRICT', 'PPE_TARIFF_TYPE', 'PPE_OSD', 'CUS_OWNER', 
               'CUS_LEGAL_FORM', 'CUS_CITY', 'CUS_DISTRICT'], axis=1, inplace=True)

X = pd.concat([PPE_WAW_DISTRICT, PPE_TARIFF_TYPE, PPE_OSD, VariantProdEE,
              CUS_OWNER, CUS_LEGAL_FORM, CUS_CITY, CUS_DISTRICT], axis=1)

Basically I want to create dummy columns from each of the selected oclumns and then with prefix add it to main dataframe (X)

Thanks, Matt

Mateusz Konopelski
  • 1,000
  • 4
  • 20
  • 37

1 Answers1

1

You almost certainly do not want to do this, but if for some reason you still really want to you can do

i = 1
for var in ['var1', 'var2', 'var3', 'var4']:
    exec(var + "=" + str(i))
    i += 1

or for compactness,

for i, var in enumerate(['var1', 'var2', 'var3', 'var4'], 1):
    exec(var + "=" + str(i))

but as everyone else is saying, use a dictionary!

dangee1705
  • 3,445
  • 1
  • 21
  • 40