【发布时间】:2020-08-29 20:50:02
【问题描述】:
我有一个由三列(A、B、C)组成的 df,每列都包含简单的数字。 我想检查 A 和 B 中的某些元素是否加起来为 C 中的一个元素(A+B = C)并返回满足他条件的 A、B 元素。我正在使用以下代码:
EW_sum = []
for i in df['A']:
for j in df['B']:
if (i+j) in df['C']:
x = (i, j)
EW_sum.append((x))
但是,代码并没有遍历 A 和 B 中的所有元素;它只给了我 A+B = C 然后中止的第一种情况。可能是什么问题呢? 谢谢
【问题讨论】:
-
请编辑您的问题以包含minimal reproducible example。
-
根据您的问题陈述,我认为您可以简单地做
df.loc[df['A'] + df['B'] == df['C']][['A', 'B']] -
@0x5453 实际上OP在代码中的逻辑是不同的。
-
@QuangHoang 是的,但他也说代码不正确,所以我完全脱离了描述。
标签: python pandas loops if-statement