title: Creating an empty dataframe or List with column names then add data by column names
body: <p>I am trying to learn python 2.7 by converting code I wrote in VB to python. I have column names and I am trying to create a empty dataframe or list then add rows by iterating (see below). I do not know the total number of rows I will need to add in advance. I can create a dataframe with the column names but can't figure out how to add the data. I have looked at several questions like mine but the row/columns of data are unknown in advance.</p>
  
  <p>snippet of code:</p>
  
  <pre><code>cnames=['Security','Time','Vol_21D','Vol2_21D','MaxAPV_21D','MinAPV_21D' ]
  df_Calcs = pd.DataFrame(index=range(10), columns=cnames)
  </code></pre>
  
  <p>this creates the empty df (df_Calcs)...then the code below is where I get the data to fill the rows...I use n as a counter for the new row # to insert (there are 20 other columns that I add to the row), but the below should explain what I am trying to do.</p>
  
  <pre><code>i = 0
  n = 0
  while True:
          df_Calcs.Security[n] = i + 1
          df_Calcs.Time[n] = '09:30:00'
          df_Calcs.Vol_21D[n] = i + 2
          df_Calcs.Vol2_21D[n] = i + 3
          df_Calcs.MaxAPV_21D[n] = i + 4
          df_Calcs.MinAPV_21D[n] = i + 5
          i = i +1
          n = n +1
          if i &gt; 4:
             break
  </code></pre>
  
  <p>print df_Calcs
  If I should use a list or array instead please let me know, I am trying to do this in the fastest most efficient way. This data will then be sent to a MySQL db table.</p>
  
  <p>Result...</p>
  
  <pre><code>  Security      Time Vol_21D Vol2_21D MaxAPV_21D MinAPV_21D
  0        1  09:30:00       2        3          4          5
  1        2  09:30:00       3        4          5          6
  2        3  09:30:00       4        5          6          7
  3        4  09:30:00       5        6          7          8
  4        5  09:30:00       6        7          8          9
  5      NaN       NaN     NaN      NaN        NaN        NaN
  6      NaN       NaN     NaN      NaN        NaN        NaN
  7      NaN       NaN     NaN      NaN        NaN        NaN
  8      NaN       NaN     NaN      NaN        NaN        NaN
  9      NaN       NaN     NaN      NaN        NaN        NaN
  </code></pre>