Python: data argument can't be an iterator
zip cannot be used directly, you should give the result as a list i.e.:
x = pd.DataFrame(list(zip(data, vote)), columns=['annual_income', 'outlier'])
Edit (from bayethierno answer) :
Since the release 0.24.0, we don't need to generate the list from the zip
anymore, the following statement is valid :
x = pd.DataFrame(zip(data, vote), columns=['annual_income', 'outlier'])