从列与特定值匹配的数据帧中删除行

2024-04-29 10:07:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个如下的数据帧

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的行。我怎样才能用熊猫做这个?你知道吗


Tags: 数据距离cgpdbaazippercucanonical
1条回答
网友
1楼 · 发布于 2024-04-29 10:07:57

你可以做个面具:

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

然后选择包含以下内容的行:

df[mask]

或者

df.loc[mask]

因为我使用df[col]来选择列,所以我更喜欢使用df.loc[...]语法来强调我选择的是行。你知道吗

相关问题 更多 >