【发布时间】:2019-10-11 11:13:51
【问题描述】:
我需要将 2 个数据框与 Pandas 合并。我正在使用 Jupyter 笔记本。
我可以合并,但不能过滤数据(如 SQL 上的 WHERE 语句)。
数据帧具有相同的消息,被标注者标记为 0 或 1。
数据框有 3 列具有相同的值 - Id、timestamp、message 和 2 列 high, low 具有不同的标签值(1 或 0)
我在“Id”列上进行了合并
我想看看例如:
对于同一个语句,是否有任何时候 Df1 具有值 == 1 的“高”列,而 Df2 具有值 == 1 的“低”列?反之亦然?
df1.merge(df2, on = ['Id'], how = 'inner')
现在我需要过滤,但我找不到正确的语法...
(df1[(df1["high_df1"] == 1)]) & (df2[(df2["low_df2"] == 1)])
我可以用单独的语句来形象化答案:
df1.loc[(df1['high_df1'] == 1) & (df2['low_df2'] == 1)]
df2.loc[(df2['low_df2'] == 1) & (df1['high_df1'] == 1)]
但我想在一张表中查看结果。
谁能帮帮我?
【问题讨论】:
-
请阅读mcve和how-to-ask
-
嘿 Puccap,1. 请格式化您的代码,2. 请发布您的预期输出和输入数据(每行 5 行),请阅读How to ask a good pandas question
标签: python pandas dataframe merge