以更有效的方式过滤数据帧

时间:2016-12-25 09:56:48

标签: python pandas dataframe

我如何用更多的熊猫方式编写以下代码:

majority_df = df[(df.voting_majority_status_fk == 4) & (df.other == True)]
minority_df = df[(df.voting_majority_status_fk == 3)]

我只需要vp_fk中的majority_df minority_df中的,然后只获取来自majority_df的唯一行,找到唯一的{{1} }}

我如何写下更多的熊猫方式。

vp_fk

1 个答案:

答案 0 :(得分:2)

这是我的“非常理论”(没有样本数据集很难测试)解决方案:

minority_df = df[(df.voting_majority_status_fk == 3)]
qry = "voting_majority_status_fk == 4 and other == True and vp_fk not in @minority_df.vp_fk"
result = (df.query(qry)
            .drop_duplicates(subset=['probe_fk', 'vp_fk', 'masking_box_fk', 'product_fk']))