Я хочу добавить столбец региона к 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'])