2014-12-20 40 views
0

我有以下數據幀中刪除行,從數據幀,其中列相匹配的特定值

PDBID FirstResidue SecondResidue FirstChain ThirdResidue FourthResidue \ 
0 1ffk.pdb   C208   G209   0   A665   A666 
1 1ffk.pdb   U325   G326   0   A305   A306 
2 1ffk.pdb  C2077   U2078   0  A1078   A1079 
3 1ffk.pdb   A790   A791   0  C1708   G1709 
4 1ffk.pdb  C2594   U2595   0  C1993   A1994 

SecondChain      Pattern Distance1 Distance2 
0   0 CG/AA Canonical ribose-zipper 2.79061 2.78089 
1   0 UG/AA Canonical ribose-zipper 2.74239 2.99667 
2   0 CU/AA Canonical ribose-zipper 2.69101 2.91463 
3   0 AA/CG Canonical ribose-zipper 3.04052 2.60353 
4   0 CU/CA Canonical ribose-zipper 2.69807 2.81067 

我想刪除行,其中任一列距離1或距離的值大於3.0。我如何使用熊貓來做到這一點?

回答

1

你可以形成一層掩膜:

mask = (df['Distance1']<=3.0) & (df['Distance2']<=3.0) 

,然後用選擇行:

df[mask] 

df.loc[mask] 

由於我使用df[col]選擇列,我更喜歡df.loc[...]語法強調我正在選擇行。

+0

哎呀,你是對的。謝謝,@lanenok。 – unutbu

+0

工作就像一個魅力!謝謝 :) – TheEmperor

相關問題