Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 18, 2023 16:45:05

@and_mariia
Зарегистрирован: 2023-10-16
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Python - замена старых данных на новые по условию

Привет,
В файле приведет пример: для определенного продукта и кода нужно подгрузить новое наименование марки (задумано, что 1 код=1 наименование, но в исходном файле на один код приходится несколько наименований). Все остальные наименования в исходном файле нужно оставить без изменений. Через merge у меня не вышло, а через np.where сложно делать по каждому условию. Новые наименования будут храниться в excel файле, чтобы другие люди могли изменять данные и тогда код можно не менять для каждого обновления файла.

не исключаю варианта, что проблема может быть с моими новыми данными в excel

Спасибо

Прикреплённый файлы:
attachment вопрос.ipynb (14,9 KБ)

Офлайн

#2 Окт. 20, 2023 02:00:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Python - замена старых данных на новые по условию

@and_mariia
задумано, что 1 код=1 наименование, но в исходном файле на один код приходится несколько наименований
Ну да, так и есть. Оно уже такое есть. Задумано одно, а по факту там другое. У двух разных наименований может быть один и тот же код.

Если тебе нужно, чтобы у разных наименований были разные коды, то тебе нужно сначала везде сделать у разных наименований разные коды, а потом уже заниматься какими-то обновлениями данных.

Вообще, код и нужен обычно для идентификации (точное указание на какой-то определённый объект), потому что наименования бывают одинаковыми. Вот у тебя лежит две одинаковых пачки парацетамола на полке, они одинаковые абсолютно, прямо клоны, но коды, идентифицирующие их, должы быть разные. Если мы первой пачке слева назначили код 1, а второй пачке слева назначили код 2, то даже если мы поменяем местами эти пачки или положим их друг на друга, эти коды поменяются местами, а пачки всё так же будут неотличимы друг от друга. Какая на какой лежит? - ты не скажешь, они одинаковые. А по кодам сразу всё понятно. Просто так код не нужен, он нужен для чего-то. Если этого чего-то нет, то код тоже можно удалить, потому что он не нужен сам по себе.

Если же это код товара, то на разных пачках может стоять одинаковый код. Но это тогда и не код пачки, а код товара. Он идентифицирует товар.

Также код может быть у группы товаров, который идентифицирует эту группу товаров, а у них могут быть при этом разные наименования. Какая-нибудь хрень где-нибудь лежит на одном складе, типа там шапка, будёновка и велосипед, и у неё один код группы товаров, хотя они все разные, потому что они идентифицируются по признаку нахождения в одном месте или там на одном складе.

Так что то, что у тебя есть изначально, не значит того, что ты думаешь об этом. Надо выяснить, почему у разных наименований может быть один код. Там может и не два быть их с одинаковым кодом, а три, четыре, десять, миллион. Если же это ошибка в исходных данных, то надо это тоже конкретно установить и взаимодействовать с этим как с ошибкой. Не слияния или переименования какие-то делать, а исправить сначала всё, чтобы всё правильно было.



Отредактировано py.user.next (Окт. 20, 2023 02:11:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version