我想使用给定两个数据帧的df1
中所述的ip range
将区域列添加到df2
中:df1
具有ip_address
df2
具有ip_from
,ip_to
,region
可以使用索引进行条件语句吗?
如果df1.ip[0]
在特定ip
之间,则在df1
中添加区域?
我猜想if语句中应该有一个循环,以便它可以循环遍历df2
来查看ip
范围在哪里,并抓住该区域。
我知道手动添加每个条件都可以,
但是有没有办法使条件按索引循环?
region=[]
for row in df1['ip']:
if row > 15:
region.append('D')
elif row > 10:
region.append('C')
elif row > 5:
region.append('B')
else:
region.append('A')
df1['region'] = region
要使其遍历行,可以这样吗?
region = []
# For each row in the column,
for row in df1['ip']:
if (row >= df2.loc[row,'ip_from']) and (row <= df2.loc[row,'ip_to']):
region.append(df2.loc[row,'region'])
最佳答案
您可以使用索引与IP地址值匹配的区域列表:
df1 = {'ip': [13,4,7,2], 'region': []}
df2 = list('AAAAAABBBBBCCCCCDDDDD')
for i in range(len(df1['ip'])):
df1['region'].append(df2[df1['ip'][i]])
关于python-3.x - 使用df索引范围的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56238743/