按ip地址范围过滤Pandas DataFrame

Nil*_*age 4 python ip-address dataframe pandas

我需要Dataframe按ip地址范围过滤大熊猫.是否可以使用正则表达式?

Ex. From 61.245.160.0   To 61.245.175.255
Run Code Online (Sandbox Code Playgroud)

And*_*den 6

字符串可以在python中订购,所以你应该能够逃脱:

In [11]: '61.245.160.0' < '61.245.175.255'
Out[11]: True
Run Code Online (Sandbox Code Playgroud)

布尔掩码:

In [12]: df[('61.245.160.0' < df.ip) & (df.ip < '61.245.175.255')]
Run Code Online (Sandbox Code Playgroud)

或者切片(如果ip是索引):

In [13]: df.loc['61.245.160.0':'61.245.175.255']
Run Code Online (Sandbox Code Playgroud)

  • 请小心此方法,因为它无法正确排序。即 `'61.245.160.99' &lt; '61.245.160.102' 输出[161]:False` (2认同)