熊猫:条件到字符串

时间:2016-08-23 10:43:11

标签: python pandas

我有数据框,我想从数据框中删除字符串,如果某些列包含class NetworkConn (AcceptedConn sock) => NetworkConn sock where type AcceptedConn sock :: * accept :: sock -> IO (AcceptedConn sock) 且不包含instance NetworkConn WS.PendingConnection where type AcceptedConn WS.PendingConnection = Connection accept sock = WS.acceptRequest sock 。 我可以写条件

avito

但我不知道如何使用telefony添加条件 数据:

df1 = df[~df.url.str.contains(r"avito")]

欲望输出:

telefony

1 个答案:

答案 0 :(得分:2)

你想要复合你的布尔条件并否定它:

In [18]:
df[~(df['url'].str.contains('avito') & ~df['url'].str.contains('telefony'))]

Out[18]:
                                                 url
0  avito.ru/mytischi/telefony/sim_karty_s_nulevym...
2  avito.ru/moskva/telefony/blackberry_bold_new_r...
3  avito.ru/moskva/telefony/blackberry_bold_blask...
5                                             vk.com

所以内在条件:

df['url'].str.contains('avito') & ~df['url'].str.contains('telefony')

这里我们正在寻找包含'avito'并且不包含'telefony'的网址:

In [19]:
df['url'].str.contains('avito') & ~df['url'].str.contains('telefony')

Out[19]:
0    False
1     True
2    False
3    False
4     True
5    False
Name: url, dtype: bool

然后我们通过括在括号中并在第一个代码段中使用~来反转上述内容