np.where для обновления значений строк - PullRequest
0 голосов
/ 07 августа 2020

Я беру информацию из базы данных, и информация location возвращается как Geo JSON. Я хочу использовать np.where, чтобы применить преобразование в кадре данных pandas 'к каждому значению строки. Можно ли это сделать вместо использования apply?

Вот np.where, который я использую:

Суть такова: если значение в location равно null, убедитесь, что оно остается NULL, иначе конвертируйте значение для объекта Shapely Geometry.

import pandas as pd
import numpy as np
from shapely.geometry import shape

class Geometry():
   def __init__(self, data):
      self._j = shape(data)

dummy_data = [{'_key': '42741', '_id': 'points/42741', '_rev': '_a6hqTXS-BI', 'location': {'coordinates': [-73.9942131, 40.7152034], 'type': 'Point'}, 'name': 'Lao Di Fang Noodle House'}, {'_key': '51156', '_id': 'points/51156', '_rev': '_a6hqTb6-_8', 'location': {'coordinates': [-73.9939157, 40.7154794], 'type': 'Point'}, 'name': '68 Deli Canal Store'}, {'_key': '42994', '_id': 'points/42994', '_rev': '_a6hqTXe--g', 'location': {'coordinates': [-73.9952133, 40.716076], 'type': 'Point'}, 'name': "Popeye'S Chicken & Biscuits"}, {'_key': '45769', '_id': 'points/45769', '_rev': '_a6hqTZC-_W', 'location': {'coordinates': [-73.9937748, 40.715124], 'type': 'Point'}, 'name': '27 Sheng Wang Noodle Shop'}]

df = pd.DataFrame(dummy_data)

df.location = np.where(df.location.isnull(), np.nan, Geometry(df.location.values))

Я знаю, что это не работает, но я хочу воспользоваться скоростью numpy для этих процессов преобразования.

Любые советы / предложения приветствуются!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...