Я пытаюсь создать мини-программу, которая будет рассчитывать ближайший, открытый ресторан, ближайший к моему местоположению. У меня есть набор данных, который включает названия ресторанов, мест, звезд и часов. Однако есть проблема: иногда в ресторане может быть несколько открытий / закрытий раз в день.
Например:
Name, location, type, and hours
Blue Duck Tavern, 1201 24th St NW, American Restaurant, 6:30-10:30AM, 11:30AM-2PM,5:30-10:30PM
Я пытаюсь получить данные в CSV, но для ресторанов с несколькими часами (как в примере), он не может правильно их проанализировать.
Самым простым решением для этого было бы (я думаю) создать еще одну строку с той же информацией, но следующим набором часов. Итак, пример будет выглядеть так:
Blue Duck Tavern, 1201 24th St NW, American Restaurant, 6:30-10:30AM
Blue Duck Tavern, 1201 24th St NW, American Restaurant, 11:30AM-2PM
Blue Duck Tavern, 1201 24th St NW, American Restaurant, 5:30-10:30PM
Так что программа не показала бы ресторан, если бы он не был открыт.
Итак, у меня есть три общих вопроса.
1) Есть ли лучший способ сделать это, чем решение, которое я упомянул выше (создание новой строки для каждой итерации нескольких часов открытия / закрытия)
2) Ниже у меня проблема со следующей реализацией:
import pandas as pd
import numpy as np
data = pd.import_csv(data.csv)
for row in data:
if data['hours'].str.contains(',') == 'True':
count = data['hours'].str.count(',')
data.append..
<create new row with Name[row], location[row], type[row], and hours[row] for the # of count>
Я пробовал гуглить, и я получаю эту ошибку: ValueError: Истинное значение Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().
Поэтому я попытался переключить его на:
if data['Monday'].any('Monday').str.contains(',') == 'True':
, что приводит к: ValueError: Нет оси с именем понедельник для типа объекта
И мне немного непонятно, что делать дальше или что я делаю неправильно, потому что если я просто сделаю:
print data[data['Monday'].astype(str).str.contains(',')]
Работает и возвращает результат. Но я не могу сделать ничего условного без того, чтобы это выдало ошибку.
3) Я также немного озадачен тем, что делать, если в строке несколько запятых ... У меня есть смутная идея, но если у вас есть какие-либо подсказки, я бы хотел их услышать :)
Спасибо за чтение!