Size: a a a

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

2021 August 06

АР

Александр Райков... in Python для анализа данных
Кто работает программистом более-менее профессионально, как вы прогнозируете количество времени на устранение багов?
источник

АР

Александр Райков... in Python для анализа данных
Если, например, шеф спрашивает, когда будет готовый результат?
источник

АР

Александр Райков... in Python для анализа данных
А то знал бы я где ошибка в коде/исполнении - ну так без ошибки бы писал. Пока не знаю - почем мне знать, когда найду и устраню. Может, через минуту, может, завтра
источник

АР

Александр Райков... in Python для анализа данных
Но на работе же такой ответ не устроит
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
Так и говорю "может через час, а может завтра". Обычно по поведению понятно, где именно проблема, хотя бы на уровне ф-ции, а это даёт понимание, сколько отнимет поиск.
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
Чекаешь лог, смотришь такой "ага, я писал это год назад, и год всё работало, наверное входные данные изменились", это проверить - полчаса, пофискить - 5 минут, проверить фикс - полчаса. На всякий пожарный называю 2 часа.  Если логов нет, то дольше - повторно провоцировать ошибку нужно, и не факт, что в этот запуск она вообще будет. Не надо без логирования работать короче. Моя багопаранойя сейчас на уровне сохранения значений важных переменных в файлы по мере выполнения каждой итерации/запуска, и удаления после успешного завершения, чтобы если чьё-то API мне вернуло строку вместо числа, я знал, что этим ребятам больше нельзя доверять. Использовать сохраненный ответ для фикса вместо повторного выполнения всего кода до момента ошибки тоже удобно.
источник

EZ

Egor Zhulanov in Python для анализа данных
Добрый день!
Имеется json со сложно структурой, при переводе в DF с помощью json_normalize получается, что в одном из столбцов остается часть json.
Внутри столбца childs в теге sgtin порядка 10-200 строк, которые принадлежат значению sscc.
Подскажите пожалуйста, как перевести json в DF вида:
sscc                               sscc_1                               sgtin
746031910100175959             546031910004348479                   04603191001762110023U3LLX97
746031910100175959             546031910004348479                   04603191001762110023U3LLX98

746031910100175959             546031910004348356                   04603191001762110023T88TLAP
746031910100175959             546031910004348356                   04603191001762110023T88TLAP
источник

EZ

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

EZ

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

EZ

Egor Zhulanov in Python для анализа данных
JSON преставлен в таком виде:
JSON преставлен в таком виде:
JSON преставлен в таком виде:
[
{
"up": {
"sscc": "201802131116570002",
"packing_date": "2018-02-13T07:00:00Z",
"owner_id": "7a9eb56a-6d44-41b5-8a97-fc91bf9f89fa",
"owner_organization_name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ
\"ТЕПЛОПРИБОРСЕРВИС\""
},
"down": {
"sscc": "201802131116570002",
"packing_date": "2018-02-13T07:00:00Z",
"owner_id": "7a9eb56a-6d44-41b5-8a97-fc91bf9f89fa",
"owner_organization_name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ
\"ТЕПЛОПРИБОРСЕРВИС\"",
"childs": [
{
"sgtin": "20180213111657TESTtest00003",
"sscc": "201802131116570002",
"status": "arrived",
"gtin": "04620032570010",
"expiration_date": "2020-10-30T00:00:00Z",
"batch": "01_139717"
},
{
"sgtin": "20180213111657TESTtest00004",
"sscc": "201802131116570002",
"status": "arrived",
"gtin": "04620032570010",
"expiration_date": "2020-10-30T00:00:00Z",
"batch": "01_139717"
}
]
}
},
{
"up": {
"sscc": "089011480010310329",
"packing_date": "2018-09-10T23:59:59Z",
"owner_id": "05a2a270-6449-440d-ba0e-52428b49b949",
"owner_organization_name": "Общество с ограниченной ответственностью
\"Др. Редди`с Лабораторис\""
},
"down": {
"sscc": "089011480010310329",
"packing_date": "2018-09-10T23:59:59Z",
"owner_id": "05a2a270-6449-440d-ba0e-52428b49b949",
"owner_organization_name": "Общество с ограниченной ответственностью
\"Др. Редди`с Лабораторис\"",
"childs": [
{
"sgtin": "18901148101194B2007ARABB0XV",
"sscc": "089011480010310329",
"status": "arrived",
"gtin": "18901148101194",
"expiration_date": "2021-03-31T00:00:00Z",
"batch": "B800554"
},
{
"sgtin": "18901148101194B20AB3YNJQRON",
"sscc": "089011480010310329",
"status": "arrived",
"gtin": "18901148101194",
"expiration_date": "2021-03-31T00:00:00Z",
"batch": "B800554"
}
]
}
}
]
источник

AK

Aleksei Komissarov in Python для анализа данных
Странный json, начинающийся с квадратных скобок
источник

EZ

Egor Zhulanov in Python для анализа данных
json полученный ответом на респонс))
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
Охохо, показал бы я вам, какие json'ы бывают в афилиэйт маркетинге =)
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
Попробуйте как словарь обработать этот ответ.
>> pd.DataFrame(reply['down']['childs'])

Вы уже знаете, какие там ключи, так что можете по ним итерировать, значит сможете перебрать ответ любой сложности циклом.
источник

EZ

Egor Zhulanov in Python для анализа данных
получается тоже самое, что json_normalize(test['down']['childs'])
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
то, что у вас тут в down, childs (что это за слово вообще), должно быть в той же строке?
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
Если да, то просто примените ту же ф-цию к значениям в этом столбце и добавьте столбцы к своему датафрейму. В одну строку до сих пор у меня не получалось подобные json'ы представить в датафрейме.
источник

С

Сергей in Python для анализа данных
Чем же? Обычный массив объектов или по-питоновски список словарей
источник

MS

Mikhail ADN Smotrin in Python для анализа данных
Мне странно, что он не плоский. Лишняя вложенность.
источник

AK

Aleksei Komissarov in Python для анализа данных
А в какого вида ДФ надо перевести? Ключа sscc_1 не нахожу.
источник