<p>我有这样一个数据帧:</p>
<pre><code>Name ID Level
Name1 A 1
Name2 B 2
Name3 C 3
Name4 D 1
Name5 E 2
Name6 F 1
</code></pre>
<p>等等。。。在</p>
<p>我正在寻找一种方法,根据名称标准只提取此数据帧的一个子节。所以我想从Name4开始提取所有内容,直到组中最后一个人的名字是另一个级别1,即从Name4提取到Name5,因为Name6是一个级别1。在</p>
<p>或者作为另一个例子,我想从Name1提取到Name3,因为Name4是一个级别1。在</p>
<p>我可以在Excel中用一个宏来完成这个任务…找到Name1,查看Level列,如果它不是1,那么就获取这行数据,一直到你再次找到一个级别为1的名称,然后停止,然后输出这个部分</p>
<p>希望这有道理。在</p>
<p>你可以这样做:</p>
<p>创建一个保存Group值的新列'Group',然后可以<code>groupby</code>此列</p>
<pre><code>g = 0
for i in df.index:
if df.loc[i, "Level"] == 1:
g += 1
df.loc[i, "Group"] = g
</code></pre>