У меня есть эта функция
import pandas as pd
import numpy as np
from shapely.geometry import Point, Polygon
def test(e, n):
polygon = Polygon([(340,6638),(340,6614),(375,6620),(374,6649)])
point_instance = Point((e, n))
a = polygon.contains(point_instance)
val = np.where(a, 0, np.nan)
return pd.Series([val])
Я хочу применить вышеуказанную функцию в моем фрейме данных, а затем удалить nan
def testData(filename):
df = pd.read_csv(filename)
df['check'] = df\
.apply(lambda x: test(x['E'], x['N']), axis=1)
# I tried both of these and doesnt delete nan values
df.dropna(axis=0, how = 'any', inplace = True)
df1 = df.dropna(axis=0, how='any', subset=['check'])
Однако, если я сохраню данные в файле и используюДропна, тогда это работает.
Пример кадра данных
Id,E,N
1,5,8
2,6,9
3,7,10
Это вывод, который я получаю
Id E N check
1 5 8 nan
2 6 9 nan
3 7 10 nan