#python #pandas #osmnx
#питон #панды #osmnx
Вопрос:
У меня есть фрейм геоданных, полученный из osmnx:
cities = ox.geocode_to_gdf(['Município de Lisboa', 'Município de Oeiras', 'Município da Amadora', 'Município de Loures', 'Município de Odivelas'])
whole_polygon = cities.unary_union #unary union of both geometries
G = ox.graph_from_polygon(whole_polygon, network_type='drive', simplify=True)
G_nx = nx.relabel.convert_node_labels_to_integers(G)
nodes, edges = ox.graph_to_gdfs(G_nx, nodes=True, edges = True)
Я пытался определить, когда были значения name
столбца NaN
, но по какой-то причине он не может определить:
for i in range(len(edges)):
if edges['name'].iloc[i] == float('nan'):
print('here')
Я попробовал float('NaN')
вместо того, что есть в коде. Я проверил, что когда name
значение равно NaN
переменной, она действительно является плавающей. В столбце имя есть три типа значений: list
, str
, float
, где значения с плавающей запятой используются только тогда, когда значение равно NaN
Комментарии:
1.
if edges['name'].isnull():
print('here')
Работает ли это2. Это не работает, нет
3.
if edges['name'].iloc[i].isnull(): print('here')
забылiloc
Ответ №1:
data = {"h":[1,np.nan,2]}
pd.DataFrame(data).isnull()
#output
h
0 False
1 True
2 False
Комментарии:
1. О, я вижу, это работает, да. Я забыл, что данные могут фактически отсутствовать и не быть фактическим значением с плавающей точкой