我有两个pandas数据帧。我想根据每个记录中的字段是否高于此数据帧中的值并且同一字段低于另一个集合中的值来在一个数据帧中选择记录子集。
下面给出了第一个数据框中值超过我的截止值的所有记录:
roi_upregulated_genes = roi[roi['zscore']>CUTOFF]
如何在df_two
中找到相应的zscore。两个数据框都具有相同的列名。
逻辑就像
roi_selectively_upregulated_genes = [gene for gene in roi_upregulated_genes if control[gene][zscore] < CUTOFF]
如何在熊猫中做到这一点?我无法使用索引,我必须通过字段gene
在表之间进行交叉引用。
答案 0 :(得分:1)
由于您尚未发布任何原始数据和代码,因此我认为应该这样做
lhs = roi[roi['zscore']>CUTOFF]
rhs = control[control['zscore']<CUTOFF]
combined = lhs.merge(rhs, on='gene', how='inner')
这将只给出两个子集中存在的基因