<p><code>groupby</code>可以在这里提供帮助:</p>
<pre><code>df.groupby(np.where(df.parentid==0, df.id, df.parentid))
</code></pre>
<p>将给您一个元组的iterable(id,dataframe,表示该id和它的childs)</p>
<p>示例:</p>
<pre><code>for i, g in df.groupby(np.where(df.parentid==0, df.id, df.parentid)):
print(i)
print(g)
</code></pre>
<p>提供:</p>
<pre class="lang-none prettyprint-override"><code>1234
type symbol price ... amendtime id parentid
0 T ICICIBANK 1000 ... 20121209103030 1234 0
3 P ICICIBANK 1100 ... 20121209103030 1237 1234
7 P ICICIBANK 1100 ... 20121209103030 1241 1234
[3 rows x 9 columns]
1235
type symbol price ... amendtime id parentid
1 T AXISBANK 1000 ... 20121209103031 1235 0
4 P AXISBANK 1000 ... 20121209103031 1238 1235
[2 rows x 9 columns]
1236
type symbol price ... amendtime id parentid
2 T SBIBANK 1000 ... 20121209103032 1236 0
[1 rows x 9 columns]
1239
type symbol price ... amendtime id parentid
5 T ICICIBANK 1000 ... 20121209103035 1239 0
8 P ICICIBANK 1100 ... 20121209103035 1242 1239
[2 rows x 9 columns]
1240
type symbol price ... amendtime id parentid
6 T .CITIBANK 1000 ... 20121209103036 1240 0
[1 rows x 9 columns]
</code></pre>