繁体   English   中英

两个 Pandas 数据框之间的交叉引用

[英]Cross reference between two Pandas dataframes

我有两个数据框。 第一个包含所有主要数据,每一行是这样的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM