Json 将列添加到数据帧的每一行
我有一个熊猫数据框(df),它有“ip”、“country”、“city”列。此数据帧df有许多行(~50000),这与不同的IP相同。我想对每个IP进行“whois”查找,获得更多属性,并将这些属性添加到现有数据帧df中 例如,从whois的结果中,我检索“asn”、“asn\U cidr”、“电子邮件”、“地址”和“管理员姓名” 目前,这就是我正在做的(示例代码): df['ip']看起来像这样:Json 将列添加到数据帧的每一行,json,pandas,Json,Pandas,我有一个熊猫数据框(df),它有“ip”、“country”、“city”列。此数据帧df有许多行(~50000),这与不同的IP相同。我想对每个IP进行“whois”查找,获得更多属性,并将这些属性添加到现有数据帧df中 例如,从whois的结果中,我检索“asn”、“asn\U cidr”、“电子邮件”、“地址”和“管理员姓名” 目前,这就是我正在做的(示例代码): df['ip']看起来像这样: SS-MacBook-Pro:src SS$ python exRepList_0.21.py
SS-MacBook-Pro:src SS$ python exRepList_0.21.py
0 46.4.123.15
1 222.136.71.19
2 27.254.67.157
3 37.48.125.51
4 153.194.72.226
5 116.117.253.243
6 91.200.12.111
7 60.173.82.156
8 60.28.1.43
9 36.72.228.72
Name: ip, dtype: object
SSs-MacBook-Pro:src SS$
问题:以上代码有效。但是,它会对同一IP进行大量冗余查找。例如:为了填充adminName列,它获取所有50000个IP,获取它们的JSON对象,检索管理员名称,填充,然后转到下一个属性。同样,对于每50000个IP,也会有相同的结果。。。
我想对每个IP执行一次查找,获取结果JSON对象,解析JSON文件中所有必要的属性,在新数据帧(或现有数据帧)中填充一行,然后转到下一个IP地址。类似于:[不确定这种方法是否有效/好…]
for idx, row in df.iterrows():
ip = str(row['ip']).strip()
obj = IPWhois(ip)
results = obj.lookup_rdap(depth=1)
# Now, parse 'results' to get all the needed attributes.
.@user Pandas可以读取JSON进行一次调用获取JSON并解析它。知道df['ip']是什么样子会很有帮助。@user请添加到问题。一个结果是,。。。添加到问题其他ppl可能看不到评论。添加了df['ip']的外观。@user您在第二个过程中走对了轨道!这种方法是有效的。使用它。@user Pandas可以读取JSON进行一次调用获取JSON并解析它。知道df['ip']是什么样子会很有帮助。@user请添加到问题。一个结果是,。。。添加到问题其他ppl可能看不到评论。添加了df['ip']的外观。@user您在第二个过程中走对了轨道!这种方法是有效的。使用它。
for idx, row in df.iterrows():
ip = str(row['ip']).strip()
obj = IPWhois(ip)
results = obj.lookup_rdap(depth=1)
# Now, parse 'results' to get all the needed attributes.