I am new to python and cannot work out why this loop will not run-
I can run this-
df1 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[0]], normalize= 'columns')
df2 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[1]], normalize= 'columns')
df3 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[2]], normalize= 'columns')
df4 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[3]], normalize= 'columns')
df5 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[4]], normalize= 'columns')
df6 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[5]], normalize= 'columns')
df7 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[6]], normalize= 'columns')
df8 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[7]], normalize= 'columns')
df9 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[8]], normalize= 'columns')
df10 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[9]], normalize= 'columns')
df11 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[10]], normalize= 'columns')
df12 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[11]], normalize= 'columns')
df13 = pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[12]], normalize= 'columns')
But when I try to run this as a loop I run into errors-
I have tried-
i = 0
while i < 10:
df[i] = (pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[[i]]], normalize=
'columns'))
i = i+1
and receive error-
TypeError Traceback (most recent call last)
<ipython-input-32-682256052209> in <module>
1 i = 0
2 while i < 10:
----> 3 df[i] = (pd.crosstab(df['Gender: What gender do you identify
with?'], df[Banner[[i]]], normalize= 'columns'))
4 i = i+1
TypeError: list indices must be integers or slices, not list
I have also tried-
for i in range(0, len(Banner)):
df[i] = (pd.crosstab(df['Gender: What gender do you identify with?'], df[Banner[[i]]], normalize=
'columns'))
i = i+1
And receive same error-
TypeError: list indices must be integers or slices, not list
Just curious why I run into this error when using loops but not creating manually.
question from:
https://stackoverflow.com/questions/65919918/trying-to-set-up-pandas-crosstabs-and-running-into-issues-with-loops