У меня есть кадр данных, состоящий из 3 столбцов: долгота, широта и площадь.
CELL NAME Longitude Latitude area
LE1072_012 -0.072457 61.042381 6.170170e-01
LE1437_011 1.711201 60.936088 5.960055e-01
LE2614_012 0.071279 58.835267 4.412428e-01
LE2826_013 1.558309 60.730385 2.844340e-01
LE2346_011 -1.056118 59.646612 2.528572e-01
LE2676_012 -0.198150 58.546112 2.395335e-01
LE2526_012 0.594452 59.184265 2.392216e-01
....
Мне нужен четвертый столбец, который зависит от значения площади. Если площадь превышает пороговое значение, следует указать «сельская местность», а если она меньше «городская»
Я хотел реализовать это как функцию с if
def CellType(area):
if area > threshold
a='rural'
else
a='urban'
return a
и затем назовите это так
df['CellType']=CellType(df['area'])
Таким образом, я получаю сообщение об ошибке, в котором говорится, что условие ряда неоднозначно
Тогда я попробовал этот кусок кода
for i in range(len(df)):
if df['area'][i]<0.002:
df['CellType'][i]='urban'
else:
df['CellType'][i]='rural'
Это работает, но это занимает вечность, когда я запускаю это на ячейках 15k
Есть ли способ сделать эту задачу быстрее?
Спасибо