title: Build pandas data frame from list of numpy arrays
body: <p>I wonder if there is an easy way for the obvious task to generate a pandas DataFrame from a list of numpy arrays, where the columns are the arrays. The default behavior seems to let the arrays be the rows, which I totally don't understand why. Here is a quick example:</p>
  
  <pre><code>names = ['data1', 'data2', 'data3']
  data = [np.arange(10) for _ in names]
  df = pd.DataFrame(data=data, columns=names)
  </code></pre>
  
  <p>This gives an error, indicating pandas expects 10 columns.</p>
  
  <p>If I do</p>
  
  <pre><code>df = pd.DataFrame(data=data)
  </code></pre>
  
  <p>I get a DataFrame with 10 columns and 3 rows.</p>
  
  <p>Given that it is generally much more difficult to append rows than columns to a DataFrame I wonder about this behavior, e.g. let's say I quickly want to put a 4th data-array into the DataFrame I want the data to be organized in columns to do</p>
  
  <pre><code>df['data4'] = new_array
  </code></pre>
  
  <p>How can I quickly build the DataFrame I want?</p>