熊猫正则表达式提取网络IP地址子字符串

Gra*_*ash 2 python regex ip-address pandas

如何使用正则表达式查找 IP 网络?

例子

IP 
234.523.213.462:321
21.236.432.123:66666
213.406.421.436:7324
Run Code Online (Sandbox Code Playgroud)

我想

IP                Port 
234.523.213.462   321
21.236.432.123    66666
213.406.421.436   7324
Run Code Online (Sandbox Code Playgroud)

需要帮忙!谢谢。

jez*_*ael 5

使用矢量化熊猫方法str.split

df[['IP','Port']] = df.IP.str.split(':', expand=True)
print (df)
                IP   Port
0  234.523.213.462    321
1   21.236.432.123  66666
2  213.406.421.436   7324
Run Code Online (Sandbox Code Playgroud)

正则表达式的解决方案(如果只有数字:.):

df[['IP','Port']] = df.IP.str.extract('(.*):(.*)', expand=True)
print (df)
                IP   Port
0  234.523.213.462    321
1   21.236.432.123  66666
2  213.406.421.436   7324
Run Code Online (Sandbox Code Playgroud)