Assign values to multiple columns in Pandas
Looks like solution is simple:
df['col2'], df['col3'] = zip(*[(2,3), (2,3), (2,3)])
There is a convenient solution to joining multiple series to a dataframe via a list of tuples. You can construct a dataframe from your list of tuples before assignment:
df = pd.DataFrame({0: [1, 2, 3]})
df[['col2', 'col3']] = pd.DataFrame([(2,3), (2,3), (2,3)])
print(df)
0 col2 col3
0 1 2 3
1 2 2 3
2 3 2 3
This is convenient, for example, when you wish to join an arbitrary number of series.