【发布时间】:2019-08-17 12:56:13
【问题描述】:
我有一个这样的数据框
日期 A B 统计数据
1 月 1 日开始
1-jan K 0 0
1 月 1 日 T b 开始
1-jan 结束
1 月 1 日 W 0 0
1-jan R b 结束
实际上,a 和 b 表示以 start 开头并以 Stat 列的 end 值结束的活动。 Act 列代表活动编号。我想基于 B 和 Stat 列创建一个新的数据框,这样我的输出将是:
日期 A B 统计数据 行动
1-jan M a 开始 1
1-jan K 0 0 1
1 月 1 日 T b 开始 1
1-jan N a 结束 1
1-jan T b 开始 2
1-jan N a end 2
1-jan W 0 0 2
1-jan R b end 2
Act 列代表活动编号。任何帮助将不胜感激。
【问题讨论】:
-
你的 b 开始和结束开关是如何在输出中放置的?
-
@kztd 谢谢。但实际上我需要一个从第一行开始的循环,将其索引与列 B(例如 a)和 Stat(例如 start)的值一起存储。然后检查下一行(即 a)中 B 列中的相同值,但具有相反的 Stat 值(即结束)。因此,当找到时,提取行集并将其命名为 Act 1。同样,取第二行并检查 B 列中的相似值与 Stat 列中的相反值,然后将其保存为 Act 2,依此类推。
标签: pandas dataframe python-2.7 loops