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.