【发布时间】:2019-08-26 22:29:11
【问题描述】:
我有几个具有分值的数据框。我需要找出总分值的任何组合是否超过阈值。
import pandas as pd
df1 = pd.DataFrame([
{'Node': 'A', 'Score': 1},
{'Node': 'B', 'Score': 2},
{'Node': 'C', 'Score': 3},
])
df2 = pd.DataFrame([
{'Node': 'D', 'Score': 4},
{'Node': 'E', 'Score': 5},
{'Node': 'F', 'Score': 6},
])
df3 = pd.DataFrame([
{'Node': 'G', 'Score': 7},
{'Node': 'H', 'Score': 8},
{'Node': 'I', 'Score': 9},
])
我需要检查是否 A 分数 + D 分数 > 阈值,A 分数 + E 分数 > 阈值,...,C 分数 + F 分数 > 阈值。
这将获得两个数据帧之间超过阈值的组合数。有没有一种有效的方法来扩展它以查找所有数据帧和大于 2 个数据帧的组合超过阈值的次数?
threshold = 10
s1 = df1['Score']
s2 = df2['Score']
s1.apply(lambda x: (x + s2) > threshold).values.sum()
如果在任何数据帧组合中超过阈值,则输出应为 True。
【问题讨论】: