title: Reshape dataframe from vertical to horizontal based on multiple columns in Pandas
body: <p>Given a toy data as follows:</p>
  <pre><code>                                     id group_name   v1  v2
  0  C45C6DA8-0721-40F3-B5CE-CA72DE102707       a_13  110  70
  1  74D067B1-819B-4E9A-A1A7-2CD2E70577A9        a_0  118  76
  2  65376D7B-8816-4FA0-9A2D-401D15808F92       b_39  130  80
  3  CABB6BFA-98A8-417F-B765-D9C2C69511FC       a_15  125  75
  4  43D115F4-AA1F-4241-9AE0-2947986D9ED0       a_13  130  75
  </code></pre>
  <p>I need to groupby <code>id</code> and <code>group_name</code>, then reshape dataframe from vertical to horizontal, please note that new columns name are renamed based on the value after <code>_</code> in the <code>group_name</code> column.</p>
  <pre><code>                                     id group_name   v1_0  v2_0  v1_13  v2_13  v1_15  v2_15  v1_39  v2_39
  0  C45C6DA8-0721-40F3-B5CE-CA72DE102707       a_13    NaN   NaN  110.0   70.0    NaN    NaN    NaN    NaN
  1  74D067B1-819B-4E9A-A1A7-2CD2E70577A9        a_0  118.0  76.0    NaN    NaN    NaN    NaN    NaN    NaN
  2  65376D7B-8816-4FA0-9A2D-401D15808F92       b_39    NaN   NaN    NaN    NaN    NaN    NaN  130.0   80.0
  3  CABB6BFA-98A8-417F-B765-D9C2C69511FC       a_15    NaN   NaN    NaN    NaN  125.0   75.0    NaN    NaN
  4  43D115F4-AA1F-4241-9AE0-2947986D9ED0       a_13    NaN   NaN  130.0   75.0    NaN    NaN    NaN    NaN
  </code></pre>
  <p>How could I do that in Pandas?</p>