【发布时间】:2021-05-19 19:29:51
【问题描述】:
我是 python 和 pandas 的新手。在这里,我有一个数据框,其中有两列。
Offset predictedFeature
0 2
5 2
11 0
21 22
28 22
32 0
38 21
42 21
52 21
55 0
58 0
62 1
66 1
70 1
73 0
78 1
79 1
因此,在此 df 中,我试图从值为 0 的那些的 predictedFeature 列中获取前 3 个值。
因此,例如第三行值是0,所以我试图获取前三个值[2000, 2000],接下来三个是[2200, 2200, 0]。我正在为predictedFeature 列中的每个0 尝试这个。这样我就可以获得df,它将这两个作为新列:上一个和下一个值。
Offset feature previous Next NewFeature
0 2 - - 2
5 2 - - 2
11 0 [2,2] [22,22,0] 0
21 22 - - 22
28 22 - - 22
32 0 [22,22,0] [21,21,21] 0
38 21 - - 21
42 21 - - 21
52 21 - - 21
55 0 [21,21,21] [0,1,1] 0
58 0 [0,21,21] [1,1,1] 0
62 1 - - 1
66 1 - - 1
70 1 - - 1
73 0 [1,1,1] [1,1] 1
78 1 - - 1
79 1 - - 1
【问题讨论】:
-
我很好奇你在这个非规范化数据结构背后的意图是什么。为什么将列表作为熊猫元素?为什么不是 3 + 3 列
prev3、prev2、...、next3?你确定你的问题定义正确吗? -
实际上,我想将 0 替换为其上一个和下一个值中的一个值。如果前 3 个值与后三个值相同,则该 0 将替换为该数组中的值。
-
没有 3 个 prev / next 值的表格开头和结尾的预期行为是什么?
-
如果没有,那么我们可以在那里添加 na 或 0 值或类似的东西,你可以建议
-
如果您的实际目标只是替换零值,则预期输出中不需要
previous和Next列。所以我认为它们现在只是为了说明?
标签: python python-3.x pandas numpy