Size: a a a

Python для анализа данных

2019 September 10

dd

dgj dfsh in Python для анализа данных
Артем Гилетич
Потому что данные за несколько лет, увы, уже накопились в таком формате.
Ну если за несколько лет накопилось, то и обработку можно не в реальном времени делать. Если все же нужно эти данные куда-то быстро выводить, то нужно их сначала преобразовать и сохранить для быстрого вывода. Например, в быстрое хранилище или как-то сагрегировать.
источник

dd

dgj dfsh in Python для анализа данных
Почему нельзя распараллелить десеарелизацию по строкам (записям в БД)?
источник
2019 September 11

dd

dgj dfsh in Python для анализа данных
@giletichart есть подвижки в решении проблемы?
источник

A

Andrew U. in Python для анализа данных
Всем привет. Кто нибудь работает с bigquery? Завел аккаунт для стримминга данных через owox из аналитикс, пока настраивал увидел что уже потратили 400 долларов и 6600 часов откуда то из Финляндии. До поддержки не пробиться. Может есть идея что это может быть и что делать?
источник

OO

Oleg Omelchenko in Python для анализа данных
Andrew U.
Всем привет. Кто нибудь работает с bigquery? Завел аккаунт для стримминга данных через owox из аналитикс, пока настраивал увидел что уже потратили 400 долларов и 6600 часов откуда то из Финляндии. До поддержки не пробиться. Может есть идея что это может быть и что делать?
Попробуйте зайти в раздел Billing - Reports, там справа выбрать временной промежуток и group by — SKU. Возможно, там сможете лучше разобраться за что и когда начислялся счет
источник

OB

Oleg Basmanov in Python для анализа данных
Коллеги, что можно сделать?
есть функция которая парсит xml яндекс маркета
def xml_df(city, path):
   path = path + city + '.xml'
   dfcols = ['id', 'name' ,'available', 'price','dimensions']
   root = et.parse(path)
   rows = root.findall('.//offer')
   xml_data = [[row.get('id'), row.find('name').text, row.get('available'), row.find('price').text, row.find('dimensions').text] for row in rows]
   df_xml = pd.DataFrame(xml_data, columns=dfcols)
   return df_xml

работала до тех пор пока мне не понадобилось брать еще и элемент 'dimensions'
а с ним не работает так как этот тег в фиде есть не у всех товаров и падает с ошибкой AttributeError: 'NoneType' object has no attribute 'text'
источник

АМ

Алексей Макаров... in Python для анализа данных
Oleg Basmanov
Коллеги, что можно сделать?
есть функция которая парсит xml яндекс маркета
def xml_df(city, path):
   path = path + city + '.xml'
   dfcols = ['id', 'name' ,'available', 'price','dimensions']
   root = et.parse(path)
   rows = root.findall('.//offer')
   xml_data = [[row.get('id'), row.find('name').text, row.get('available'), row.find('price').text, row.find('dimensions').text] for row in rows]
   df_xml = pd.DataFrame(xml_data, columns=dfcols)
   return df_xml

работала до тех пор пока мне не понадобилось брать еще и элемент 'dimensions'
а с ним не работает так как этот тег в фиде есть не у всех товаров и падает с ошибкой AttributeError: 'NoneType' object has no attribute 'text'
Может попробовать .get('text')?
источник

АМ

Алексей Макаров... in Python для анализа данных
Хотя там же не словарь получается вроде
источник

M🌗

M 🌗🌘🌑🌒🌓... in Python для анализа данных
Oleg Basmanov
Коллеги, что можно сделать?
есть функция которая парсит xml яндекс маркета
def xml_df(city, path):
   path = path + city + '.xml'
   dfcols = ['id', 'name' ,'available', 'price','dimensions']
   root = et.parse(path)
   rows = root.findall('.//offer')
   xml_data = [[row.get('id'), row.find('name').text, row.get('available'), row.find('price').text, row.find('dimensions').text] for row in rows]
   df_xml = pd.DataFrame(xml_data, columns=dfcols)
   return df_xml

работала до тех пор пока мне не понадобилось брать еще и элемент 'dimensions'
а с ним не работает так как этот тег в фиде есть не у всех товаров и падает с ошибкой AttributeError: 'NoneType' object has no attribute 'text'
Эксепшен отлавливать и нан?
источник

M🌗

M 🌗🌘🌑🌒🌓... in Python для анализа данных
Если его нет-то.
источник

YP

Yuriy Prudnikov in Python для анализа данных
Самый простой способ - проверять row.find('dimensions') на None
источник

YP

Yuriy Prudnikov in Python для анализа данных
xml_data = [[row.get('id'), row.find('name').text, row.get('available'), row.find('price').text, row.find('dimensions').text or ''] for row in rows]
источник

YP

Yuriy Prudnikov in Python для анализа данных
Ну или что там должно быть в
row.find('dimensions').text
источник

AK

Alexey Kanakhin in Python для анализа данных
Yuriy Prudnikov
Самый простой способ - проверять row.find('dimensions') на None
Насколько это 'pythonic'? Выше писали, можно же эксепшн отлавливать.
источник

YP

Yuriy Prudnikov in Python для анализа данных
Alexey Kanakhin
Насколько это 'pythonic'? Выше писали, можно же эксепшн отлавливать.
Просто добавить код
or ''
гораздо проще, чем отлавливать экзепшн, разве нет?
Выше написал, как это будет выглядеть
источник

AP

Andrey Pushvitsev in Python для анализа данных
Эксепшн же все ошибки словит, а or не все сценарии обработает.
источник

AK

Alexey Kanakhin in Python для анализа данных
И без эксепшена получается лишний вызов find вместо get, но это может быть не критичным местом :)
источник

OB

Oleg Basmanov in Python для анализа данных
Yuriy Prudnikov
xml_data = [[row.get('id'), row.find('name').text, row.get('available'), row.find('price').text, row.find('dimensions').text or ''] for row in rows]
не, не срабюотало
источник

YP

Yuriy Prudnikov in Python для анализа данных
Насколько я понял, тут конкретная проблема - иногда в row отсутствует  dimension. И лучший вариант борьбы конкретно с этим недугом - проверка на None.
Понятно, что для обработки всех непредвиденных обстоятельств нужно использовать эксепшн.
источник

YP

Yuriy Prudnikov in Python для анализа данных
Oleg Basmanov
не, не срабюотало
Что теперь пишет?
источник