我正在尝试使用覆盖两个值的元组来过滤熊猫数据框...例如:
# tuple contains... example only...
# first element in the tuple corresponds to a code or column in pandas
# second element is another column to filter on in pandas
[('G935', 'Y'), ('G936', 'N'), ('G937', 'N')]
pandas数据框包含列:
Dx01, Dx_POA_01
Dx02, Dx_POA_02
Dx03, Dx_POA_03
Dx04, Dx_POA_04
Dx05, Dx_POA_05
Dx06, Dx_POA_06
这可以持续25-60 ... 我试图在数据框中找到与这些列组合中元组中的匹配对匹配的记录。
我尝试过类似的事情:
# this worked fine
test = df[df[["Dx01", "Dx_POA_01"]].apply(tuple, 1).isin([("G935", "Y"), ("G936","N")])]
但是,当我想扩展到更多列时:
df[df[["Dx01", "Dx_POA_01"],["Dx02", "Dx_POA_02"]].apply(tuple, 1).isin([("G935", "Y"), ("G936","N")])]
这显然行不通...并且出现错误
"[('Dx01', 'Dx_POA_01') ('Dx02', 'Dx_POA_02')] not in index"
如何使用元组在列组合上搜索熊猫数据框...这将是一个“ OR”子句...
如果["Dx01", "Dx_POA_01"]
在元组中包含任何组合
或["Dx02", "Dx_POA_02"]
的元组中包含任何组合
等等...