title: Numpy: how to roll 1 "row" in an array of arrays
body: <p>I'm creating an 2d numpy array, with a simplified example like something like this:</p>
  
  <pre><code>COL01 = np.array(["A", "D", "G"])
  COL02 = np.array(["B", "E", "H"])
  COL03 = np.array(["C", "F", "I"])
  
  GRID = np.array([[COL01], [COL02], [COL03]])
  </code></pre>
  
  <p>I'm passing the GRID around in my code.  I want to be able to modify GRID by rolling ONLY one of the arrays that makes up its component rows.  For instance, I want to pass GRID into a function with a row number and number of positions to roll, and then return the result.</p>
  
  <p>How can I roll the single row independently?  I tried following the answer from here:
  [<a href="https://stackoverflow.com/questions/20360675/roll-rows-of-a-matrix-independently]">Roll rows of a matrix independently</a>, but I couldn't figure out how to adapt that answer to my problem.</p>