x= ("bonus")
i=[str(i) for i in range(80,121)]
for s in i:
z=x s
I am trying to get an outcome of
bonus80
bonus81
bonus82
...
..
bonus120
So I could use the outcome for below code
bonus_80=df["Bonus Payout 80%"].values
bonus_81=df["Bonus Payout 81%"].values
# ...
bonus_119=df["Bonus Payout 119%"].values
bonus_120=df["Bonus Payout 120%"].values
But still could not find a way to do it, I tried many variations to no end.
CodePudding user response:
Try using a dictionary for dynamic key/value pairs.
result = {}
for i in range (80,121):
result[f"Bonus_{i}"] = df[f"Bonus Payout {i}%"]
CodePudding user response:
x= ("bonus")
i=[str(i) for i in range(80,121)]
for s in i:
z=x s
I would tell you "Nice try", but have you noticed that you're not printing anything?
I would do this:
l = [f"Bonus Payout {i}%" for i in range(80, 120)]
and then, if you want to access that df
:
n = [df[key] for key in l]
CodePudding user response:
I believe what you want is to dynamically create variables. As @JarroVGIT mentionned, using a dictionary is better. But otherwise you can access the globals()
dictionary to access variable names :
for i in range(80, 121):
globals()[f"bonus_{i}"] = df[f"Bonus Payout {i}%"].values
Then you have your 20 independant variables and you can access them like any other.
bonus_110 = 110
print(bonus_84)