擅长:python、mysql、java
<p>下面是一个可能的解决方案。也许不是很优雅,但很管用。你知道吗</p>
<pre><code>grouped = df.groupby('Patient')
col = ['Patient']
data = []
for p, g in grouped:
d = {'Patient': p}
g.reset_index(inplace=True)
for i, row in g.iterrows():
for c in range(2, len(g.columns)):
col_name = g.columns[c] + '_' + str(i + 1)
d[col_name] = row[g.columns[c]]
if col_name not in col:
col.append(col_name)
data.append(d)
df = pd.DataFrame(data, columns=col)
</code></pre>