title: How to assign random values from a list to a column in a pandas dataframe?
body: <p>I am working with Python in Bigquery and have a large dataframe df (circa 7m rows). I also have a list lst that holds some dates (say all days in a given month).</p>
  
  <p>I am trying to create an additional column "random_day" in df with a random value from lst in each row.</p>
  
  <p>I tried running a loop and apply function but being quite a large dataset it is proving challenging. </p>
  
  <p>My attempts passed by the loop solution:</p>
  
  <pre><code>df["rand_day"] = ""
  
  for i in a["row_nr"]:
    rand_day = sample(day_list,1)[0]
    df.loc[i,"rand_day"] = rand_day
  </code></pre>
  
  <p>And the apply solution, defining first my function and then calling it:</p>
  
  <pre><code>def random_day():
    rand_day = sample(day_list,1)[0]
    return day
  
  df["rand_day"] = df.apply(lambda row: random_day())
  </code></pre>
  
  <p>Any tips on this?
  Thank you</p>