正在寻找一种使用Pandas快速更改列中所有值的方法



我有一个csv文件,其中包含捕获的网络数据包的数据,包括src_ip列,该列以192.168.1.1:1234的格式存储源ip和端口号。我目前正在使用以下代码来分割IP和端口,并只保存IP:

pkt_data = pd.read_csv("sample_packets.csv", parse_dates=["Time"]).set_index("Time").sort_index()
for index_label, row_series in pkt_data.iterrows():
pkt_data.at[index_label, "src_ip"] = row_series["src_ip].split(':')[0]

问题是,我的数据集大约有20万行,而这段代码需要将近一分钟的时间才能完成。有更快/更好的方法吗?

感谢

您可以使用apply((:

pkt_data["src_ip"] = pkt_data["src_ip"].apply(lambda x: x.split(':')[0])

最新更新