擅长:python、mysql、java
<p>假设你有这样一个df:</p>
<pre><code>col1
NameA
WorkplaceA
AbstractA
NameB
WorkplaceB
AbstractB
</code></pre>
<p>你可以做:</p>
<pre><code>import numpy as np
# Set the same number for each 3 lines
df['index'] = df.index / 3
df['index'] = df['index'].apply(np.floor)
# Set 0 for Names, 1 for Workplaces and 2 for Abstract
df["type_id"] = df.index % 3
# Rename 0, 1 and 2 by a label
df["type_label"] = df["type_id"].map({0: "Name", 1: "Workplace", 2: "Abstract"})
# Pivot the table
df = df.pivot(index='index', columns='type_label', values='col1')
print(df)
</code></pre>
<p>它会给你:</p>
<pre><code>type_label Abstract Name Workplace
index
0.0 AbstractA NameA WorkplaceA
1.0 AbstractB NameB WorkplaceB
</code></pre>