gpt4 book ai didi

python - 两个 Pandas 数据帧之间的交叉引用

转载 作者:行者123 更新时间:2023-12-01 08:18:08 29 4
gpt4 key购买 nike

我有两个数据框。第一个包含所有主要数据,每行如下:

timestamp|source_ip|destination_ip|number_packets|number_bytes|etc.

第二个包含 IP 地址和这些地址所属网络的引用表:

network1|ip_address1
network1|ip_address2
network2|ip_address3
etc.|etc.

它可能包含带有子掩码的网络地址,例如:

network3|ip_network/submask

那么数据帧 1 在数据帧 2 中查找其地址(例如 source_ip)的网络的最佳方式是什么?引用表不一定是数据框。任何数据结构都可以,只要易于引用信息即可。有什么建议吗?

谢谢。

最佳答案

要实现此目的,首先您可以将 networkip_address 的映射存储在字典中:

mapping = { ip_address1: network1,
ip_address2: network1,
ip_address3: network2,
... }

要从主数据帧中查找与 source_ip 每个条目对应的 network,请使用以下命令:

df['network'] = df['source_ip'].apply(lambda x: mapping[x])

这会在主数据帧中为您提供名为 network 的附加列,我们假设该列的名称为 df,其中包含列 source_ip

关于python - 两个 Pandas 数据帧之间的交叉引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54859630/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com