Python 对DataFrame执行操作,并将结果作为DataFrame获取,该DataFrame与数据库中另一个DataFrame中存在的条件匹配
我有一个数据帧df1:Python 对DataFrame执行操作,并将结果作为DataFrame获取,该DataFrame与数据库中另一个DataFrame中存在的条件匹配,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧df1: df1 = pd.DataFrame([[31,12,32,65],[42,19,22,78],[76,13,45,68],[43,37,43,71],[43,18,34,73]],columns=['A', 'B', 'C', 'D']) 和另一个数据帧df2: df2 = pd.DataFrame([["B",">20"],["C",">40"],["D"
df1 = pd.DataFrame([[31,12,32,65],[42,19,22,78],[76,13,45,68],[43,37,43,71],[43,18,34,73]],columns=['A', 'B', 'C', 'D'])
和另一个数据帧df2:
df2 = pd.DataFrame([["B",">20"],["C",">40"],["D","<70"],["A","<40"]],columns = ["Feature","Condition"])
怎么做?请帮助。您可以使用创建条件,然后:
然后,您可以使用创建条件:
你已经问过这个问题了,这是针对一个列,而不是整个数据框,它与任何一个条件都匹配。你是一个技术专家,对吗?使用你自己的能力我是一个编程初学者,我试过了,但没能做到。你已经问过这个问题,这是针对一个列,不是所有的数据框都符合这两个条件。你是一个技术高手,使用你自己的能力。我是一个编程新手,我试过了,但没能做到。
Output = pd.DataFrame([[31,12,32,65],[76,13,45,68],[43,37,43,71]],columns=['A', 'B', 'C', 'D'])
# create condition
conds = " or ".join(df2.agg(" ".join, axis=1).tolist())
# apply condition
df = df1.query(conds)
print(df)
A B C D
0 31 12 32 65
2 76 13 45 68
3 43 37 43 71