我有这个简单的数据框
df = pd.DataFrame({'myip' : ['192.168.0.1']})
df
Out[12]:
myip
0 192.168.0.1
我想使用str.replace
用0
替换ip的最后一个八位字节(这样它将显示为192.168.0.0
我(认为我)知道如何匹配正则表达式中的最后一个八位位组:\\.[0-9]*$
,但是我没有得到pandas
语法来将其替换为零。
有什么想法吗?熊猫23在这里。谢谢!
答案 0 :(得分:1)
您可以使用pandas.Series.str.replace
:
>>> df['myip'] = df['myip'].str.replace(r'\.\d+$', '.0')
>>> df
myip
0 192.168.0.0
>>>
在这里,\.
匹配一个点,\d+
匹配一个或多个数字,并且$
锚点在字符串的末尾声明位置。
.0
是简单的字符串替换模式,点号后跟0
字符。
请参见regex demo。