【发布时间】:2020-03-15 20:26:37
【问题描述】:
我有三个相关的列:时间、id 和交互。 如何在给定时间窗口的“交互”列中创建一个 ID 值为“1”的新列?
应该是这样的:
time id vec_len quadrant interaction Paired with
1 3271 0.9 7 0
1 3229 0.1 0 0
1 4228 0.5 0 0
1 2778 -0.3 5 0
2 4228 0.2 0 0
2 3271 0.1 6 0
2 3229 -0.7 5 1 [2778, 4228]
2 3229 -0.3 2 0
2 4228 -0.8 5 1 [2778, 3229]
2 2778 -0.6 5 1 [4228, 3229]
3 4228 0.2 0 0
3 3271 0.1 6 0
3 4228 -0.7 5 1 [3271]
3 3229 -0.3 2 0
3 3271 -0.8 5 1 [4228]
感谢您的帮助!!
【问题讨论】:
-
“如何使用 id 值创建新列”是什么意思?您想向此数据框添加一列还是您的目标是什么?
-
我试图在标题中澄清。所以在时间块 x 中,当 'interaction' 为 1 时,将在该时间块中也有 '1' 的其他 id 的单元格值插入到新列中。
-
您能举个例子吗?所有 id 都已经在
id列中。如果interaction是1或None,那么您想要另一列id_interaction具有id? -
抱歉,不够清楚。我试试。因此,基于时间块 2,我们有 3 个 ID,在“交互”列中状态为 1。在一个新的“配对”列中,我想列出该时间块中的 ID 在列交互中也有 1。
-
在这种情况下,3229 在新列中获取值 2778 和 4228,因为它们在时间块 2 中也有 'interaction'==1。
标签: python pandas dataframe if-statement iteration