【发布时间】:2020-01-03 04:14:53
【问题描述】:
我正在处理一个数据项目,并且我正在尝试加快我的初始数据处理速度,因为我不可避免地想要对数据做一些其他/新的事情。到目前为止,我一直在尝试进行更多矢量化并使用 np.where 等。我已经看到了物质上的收益。
我需要处理的最后一段代码是最慢的。我正在使用 itterrows 在一个非常大的数据帧(>百万行)中循环。
我实际上想要做的是 SQL 等价于
select curr.value, prev.value from t1 left join t2 on curr.number = prev.number - 1
据我所知,没有办法像这样在自身上加入 DataFrame。是否有其他方法可以遍历它以比较当前值和以前的值?这是数据框当前的样子
df =
[a b c
3 1 0
4 1 0
5 1 0
6 0 1]
请注意,b 从 1 变为 0,这就是我要捕获的内容,这样我现在将拥有一个看起来像这样的 df
[a b c b_c
3 1 0 0
4 1 0 0
5 1 0 0
6 0 1 1]
非常感谢任何帮助,谢谢。
【问题讨论】:
-
所以
1-df['b']?对不起,如果我没有得到你,你能解释一下吗