我已经提到了this问题,稍加修改的解决方案在示例模式下工作,但对于我的完整数据集(大约3GB的数据),内存不足
我正在尝试查找组范围内所有值的计数(按锚点分组):
范围公式为y_val +- (anchor_val / 20)
。
请注意anchor_val
在所有锚点上都是一致的,例如:
这将导致:
(为了清晰起见,我添加了锚定值/20)
编辑:
导致内存不足错误的当前代码:
df["rule_8_comp_low"] = df["y_val"] - df["anchor_val"] / 20
df["rule_8_comp_high"] = df["y_val"] + df["anchor_val"] / 20
m = df.reset_index().merge(
df[["anchor_col", "y_val"]].reset_index(), on="anchor_col"
)
m["rule_8_to_count"] = (
m.y_val_y.ge(m.rule_8_comp_low)
& m.y_val_y.le(m.rule_8_comp_high)
& (m.index_x != m.index_y)
)
df["y_val_between"] = m.groupby("index_x").rule_8_to_count.sum()
目前没有回答
相关问题 更多 >
编程相关推荐