【发布时间】:2019-04-23 19:16:18
【问题描述】:
我有一个这样的数据框:
Name ID Level
Name1 A 1
Name2 B 2
Name3 C 3
Name4 D 1
Name5 E 2
Name6 F 1
等等……
我正在寻找一种方法来根据名称标准仅提取此数据帧的一部分。所以我想提取从 Name4 开始的所有内容,直到该组中最后一个人的名字是另一个级别 1..即从 Name4 提取到 Name5 因为 Name6 是级别 1。
或者作为另一个例子,我想从 Name1 中提取到 Name3,因为 Name4 是 Level 1。
我可以在 Excel 中使用宏来执行此操作...找到 Name1,查看 Level 列,如果不是 1,则获取这行数据并继续执行,直到您点击 Name再次有一个Level 1,然后停止,然后输出这个部分
希望这是有道理的。
【问题讨论】:
-
解压成什么?请举例说明您期望的输出
-
你检查 df.groupby 了吗?
-
您是如何获得“级别”列的?我觉得有更简单的方法来对列进行分组,而不是遍历每一行并检查“级别”变量的变化。
-
抱歉,如果我的问题不够彻底。还在学习如何正确提问,一定要学会交出预期。感谢您的反馈意见。我确实查看了 groupby 函数,但这并没有帮助。 Level 变量将作为下载数据的一部分提供