Size: a a a

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

2019 July 16

PC

Pavel Chagin in Python для анализа данных
Andrey Denisov
Беда в том, что непонятно что прилетит. Исторические данные можно перелопатить функцией - и новые менять по аналогии.
Удалять - не вариант, надо менять по шаблону. Вот по этому шаблону и возник вопрос. Поковыряю https://github.com/rhiever/datacleaner
"Беда в том, что непонятно что прилетит."
Это дествительно беда. Нужно изучать что может прилететь и на что нужно заменить.

Вот вырвал реальный кусок кода для универсальной обработки значений, полученных из AdWords:
if type(report_value) in (str,):
   report_value = report_value.replace(",", "").strip('%')
   report_value_strip = report_value.strip()
   if report_value_strip == '--' or report_value_strip.startswith('<') or report_value_strip.startswith('>'):
       report_value = 0
Убрать запятые (разделители десятков), убрать %. То есть оставить только число.
Значения "--", "< 10 %" и "> 90 %" заменить на 0.

Это лишь кусок кода. Бывают разные варианты трансформации.
Но нужно чётко понимать что на что менять.

Именно указанные в примере правила основаны на изучении API, проверке значений в API ответе и последующей отладке ошибок.
источник

A

Andrey Denisov in Python для анализа данных
Pavel Chagin
"Беда в том, что непонятно что прилетит."
Это дествительно беда. Нужно изучать что может прилететь и на что нужно заменить.

Вот вырвал реальный кусок кода для универсальной обработки значений, полученных из AdWords:
if type(report_value) in (str,):
   report_value = report_value.replace(",", "").strip('%')
   report_value_strip = report_value.strip()
   if report_value_strip == '--' or report_value_strip.startswith('<') or report_value_strip.startswith('>'):
       report_value = 0
Убрать запятые (разделители десятков), убрать %. То есть оставить только число.
Значения "--", "< 10 %" и "> 90 %" заменить на 0.

Это лишь кусок кода. Бывают разные варианты трансформации.
Но нужно чётко понимать что на что менять.

Именно указанные в примере правила основаны на изучении API, проверке значений в API ответе и последующей отладке ошибок.
Спасибо
источник
2019 July 17

ВЛ

Владислав Литвинюк... in Python для анализа данных
Привет! Конекчусь к bigquery. Пишу запрос
credentials = service_account.Credentials.from_service_account_file(
   'D:\\client\\api_big_query\\My_First_Project-d3d519ff0801.json')

# TODO: Set your BigQuery Project ID.
projectid = "109907788021574534234"
query = 'select 5, 6 from `getcourse_users.owoxbi_sessions_20190716` limit 5'

df = pandas_gbq.read_gbq(query, project_id=projectid, credentials=credentials)

А мне выдает такую непонятную ошибку, что делать, скажите, пж?
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
В самой же bigquery запрос нормально работает, конечно
источник

TC

Tasha Czarkova in Python для анализа данных
query надо оформить в тройных кавычках
источник

OB

Oleg Basmanov in Python для анализа данных
там  по дефолту диалект легаси идет, а запрос в стандарте написан
источник

TC

Tasha Czarkova in Python для анализа данных
там по дефолту вроде как раз стандарт и идет
источник

OB

Oleg Basmanov in Python для анализа данных
источник

TC

Tasha Czarkova in Python для анализа данных
my bad ¯\_(ツ)_/¯
источник

D

Dmutruu in Python для анализа данных
Владислав Литвинюк
В самой же bigquery запрос нормально работает, конечно
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
та же ошибка
источник

TC

Tasha Czarkova in Python для анализа данных
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
спасибо всем, ошибка оказалась тупая - я подставлял id ключа, а не проекта, но за то узнал много интересного)
да, стыдно
источник

OB

Oleg Basmanov in Python для анализа данных
а вообще зачем там credentials создавать. можно сразу в параметре private_key передать ссылку на json
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
пока и так норм)
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
Не знаете почему не правильно преображает timestamp в месяц и год?
источник

АМ

Алексей Макаров... in Python для анализа данных
Владислав Литвинюк
Не знаете почему не правильно преображает timestamp в месяц и год?
Вам нужно сначала timestamp преобразовать в datetime
источник

VL

Victor Laputsky in Python для анализа данных
Владислав Литвинюк
Не знаете почему не правильно преображает timestamp в месяц и год?
в пандасе же есть отличная команда to_datetime, откуда уже потом можно месяц выцепить
источник

АМ

Алексей Макаров... in Python для анализа данных
pd.to_datetime(column,unit='s')
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
понял, спасибо
источник