Задать вопрос
  • Как проверить наличие поля в JSON файле с помощью python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Объекты типа str не имеют метода get, такие методы характерны для маппингов (ключ-значение) напрмиер словарь.
    get("MiddleName") нужно проверять в другом месте, где ты ожидаешь встретить данный ключ.
    Ответ написан
    Комментировать
  • Как сравнить 2 df в Пандасе?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Если в колонке сборник (строки, числа, пропущенные значения). То это тип 'object'. Что означает python object что в свою очередь надо понимать буквально, массив состоит из python объектов.

    2. Операция сравнения двух объектов, не является однозначно трактованной операцией, в том числе и по этому в python существуют дандер методы которые позволяют переопределять операторы сравнения (вложить свой смысл что именно ты подразумеваешь по сравнением). Это я к тому что ты должен четко понимать что значит равны.

    pandas объекты поддерживают сравнение в его собственной интерпретации и поведении. Если этого достаточно
    то, все элементарно. Если сравнение используется для фильтра то такие колонки не хранят.
    df = pd.DataFrame({
        'A':[1,'a',2],
        'B':[1,'a',3]
    })
    
    df.loc[df['A'] == df['B']]

    Колонкам не обязательно быть из одного и того же фрейма, лишь бы размерность совпадала.
    Если же нужно особое понимание сравнения. То пишется функция которая принимает два массива на вход и возвращает массив булевых значений, затем этот массив используется в качестве маски, для осуществления выборки.
    Ответ написан
    Комментировать
  • По неподтверждённой информации, в нейросети Яндекса YALM-4 около 1.4 миллиардов параметров. В GPT-3 - 130 миллиардов. Насколько этот разрыв радикален?

    Maksim_64
    @Maksim_64
    Data Analyst
    Окей я не слежу за LLM от яндекса. https://github.com/yandex/YaLM-100B этому 2 года и там 100B или здесь
    https://huggingface.co/yandex тоже самое. YALM-4 вообще не слышал, и уж точно не поверю, что яндекс использует сегодня модель с 1.4B параметров.
    Ответ написан
    1 комментарий
  • Как сделать, чтобы не было возможности вызвать метод через инстанс?

    Maksim_64
    @Maksim_64
    Data Analyst
    Думаю простого способа нет в силу особенностей дизайна. Объект экземпляра класса, как и объект класса, оба имеют полный доступ к пространству имен объекта класса. По этому думаю решение довольно сложное и того не стоит.
    Ответ написан
    Комментировать
  • Как вставить строчки в exel через pandas?

    Maksim_64
    @Maksim_64
    Data Analyst
    Важно что форматы ячеек, шрифты и тд остались прежними. Это возможно сделать?
    с учетом этого pandas будет недостаточно, проще всего с использованием openpyxl это будет сделать.
    Ответ написан
    Комментировать
  • Как мне правильно развиваться в первую очередь как хороший программист, а потом уже как backend python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Я 2 года изучал Python (сам, без курсов).
    Думаю, что многого не знаю или упустил.

    Переходи к созданию проектов, они будут выявлять над чем работать, и формировать тебя как специалиста.

    Сейчас пытаюсь учить Flask, недавно закончил основы Git (очень хочу практики в команде).

    Опять таки делай проект, я бы не рекомендовал flask (fastapi вместо), но главное это сделать проект, git будет нужен если работаешь один, необязательно командой.

    В моих планах стать backend-разработчиком на Python.
    В данный момент я просто запутался, что мне изучать, что читать, где брать практику.

    Прекрасный выбор, после двух лет чтения, надо делать. Потом придет время опять почитаешь чего-нибудь.
    Ответ написан
    4 комментария
  • Как исправить ошибку установки библиотеки на Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Скорее всего переустанавливать, удалять текущую версию. Ставить с++ сначала потом заново ставить tf.
    https://stackoverflow.com/questions/67259900/tenso...

    https://stackoverflow.com/questions/61342220/modul...

    https://learn.microsoft.com/en-us/cpp/windows/late...
    Ответ написан
    3 комментария
  • Как научиться делать ИИ?

    Maksim_64
    @Maksim_64
    Data Analyst
    Что бы не использовать готовое, а делать свое.

    1. Сильные математические знания, которые позволят читать научные стать или хотя бы подходящую литературу, по RL например Reinforcement Learning, second edition An Introduction by Richard S. Sutton and Andrew G. Barto. Это главная базовая литература.

    2. Сильные скилы в программировании определенные алгоритмы очень сложны.

    3. Очень много времени.

    4. Вычислительные мощности.

    В легких для чтения статьях рассматриваются, отдельные компоненты, и их применения, а не ИИ с нуля.
    Ответ написан
    3 комментария
  • Как объединить две таблицы в pandas?

    Maksim_64
    @Maksim_64
    Data Analyst
    pd.merge(левая таблица, правая таблица, left_on='CELL',right_on='GeranCellId ', how=method)

    где метод left, right,inner, outer, cross. Это типы джойнов.
    merge

    Ну и выбери нужные колонки, например. для левой таблицы тебе не нужны BSC и LAC, если ты по правой будешь джойнить, тебе эти колонки оттуда нужны. Выбирать нужные колонки и ставить их в желаемом порядке делают c помощью loc. фрейм.loc[:,[колонка1, колнка2, итд]]
    Ответ написан
    Комментировать
  • Почему моё решение неправильное?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну так первый ответ 1/2, и второй 1/5.
    Мы имеем дело с условной вероятностью. Когда мы имеем дело с условной вероятностью мы спрашиваем. Каким образом произошедшее событие изменяет пространство выборки?

    P(A|B) = какова вероятность, что выпало четное число с учетом того что выпавшее число кратное 5. Есть всего два кратных 5 числа (это 10 и 5) такой у нас стало пространство выборки, из это пространства мы спрашиваем какова вероятность что число четное у нас один удовлетворяющий условию ответ 1/2

    P(B|A) = какова вероятность, что выпало число кратное 5 с учетом того что выпавшее число четное. Есть 5 четных чисел (это 2,4,6,8,10) такой у нас стало пространство выборки, из это пространства мы спрашиваем какова вероятность что число кратное 5 у нас один удовлетворяющий условию ответ 1/5
    Ответ написан
    Комментировать
  • Как преобразовать вложенные словари в объекты с типами для API-обёртки?

    Maksim_64
    @Maksim_64
    Data Analyst
    Задачка не маленькая, и попыток ее решить ты не предоставил. Есть вот так вот - хочу вот так вот, и все.
    Могу посоветовать книга Fluent Python глава 22 Dynamic Attributes and Properties.
    В ней как раз на примере вложенного json объяснено предельно подробно, как решать подобные задачи.
    Ответ написан
    Комментировать
  • Как очистить оперативную память с python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Python не позволяет работать с памятью напрямую. Очистка происходит сборщиком мусора, когда количество ссылок на объект равно нулю. Например когда ты используешь del ты удаляешь ссылку на объект, то есть счетчик ссылок - 1. и когда он равен нулю, то произойдет полное удаление объекта из памяти.

    Что касается работы со стримом данных то его делят на части и процессируют по частям. Пишут в базу, сохраняют в файл, и т.д. Переработал часть, сохранил, удалил, приступил к следующей и т.д.
    Ответ написан
    Комментировать
  • Почему данные не сортируются по дате?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Не помешало бы, пример несколько строк из фрейма которые не сортируются.
    2. Обратно возвращать в строку не обязательно.
    3. Методы чтения имеют параметр parse_dates для того что бы строковое представление даты перводить в тип данных datetime64
    вот небольшой примерчик
    (
        pd.DataFrame({
            'string_dates':['17.08.2024','15.08.2024','20.09.2024'],
            'values':[10,100,1000]
        })
        .assign(
            dates=lambda x: pd.to_datetime(x['string_dates'],format='%d.%m.%Y')
        )
        .sort_values(by='dates')
    )
    как видишь все сортируется, обрати внимания на типы данных. Колонку которая используется для сортировки можно дропнуть, ну или создать ее что называется "на лету".
    Ответ написан
    Комментировать
  • Можно ли сравнить два изображения между собой на похожесть?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Определить для себя что ты понимаешь под похожестью. В комментарии верное подмечено.
    2. Закодировать изображения в тензорное представления.
    3. Сравнивать дистанции между двумя тензорами евклидова дистанция, cosine similarity и т.д.

    Сейчас даже базы есть, я такую использовал в проекте недавно (chroma db), которые оптимизируют поиск ближайшей дистанции по изображениям / текстам. То есть пишешь запрос входной эмбединг а он тебе выдает запись с наименьшей дистанцией, к данному эмбедингу.
    Ответ написан
    Комментировать
  • Как можно реализовать решение с обратной индексацией?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну поработай с индексом да и все.
    Самое примитивное
    def __getitem__(self, index):
            try:
                return self.data[-(index+1)]
            except IndexError:
                return None
    Ответ написан
    Комментировать
  • В какую структуру лучше всего сохранить небольшие графы/деревья (2-100 вершин)?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну если не большие, что мешает граф хранить в графе. Обойтись без преобразования, а использовать сереализацию. Модуль pickle, или методы сереализации предусмотренные библиотеками, которыми ты пользуешься для работы с графами. Например самая популярная библиотека для работы с графами (networkx) естественно имеет методы сереализации write_graphml. Поддерживает разные форматы и т.д.
    Ответ написан
    Комментировать
  • Если любой из элементов массива слов имеется в строке - выдать true, как?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Проходишься по своему массиву и спрашиваешь присутствует ли твое слово в тексте который ввел пользователь.
    2. В результате получаешь массив булевых значений True False
    3. Если в массиве есть True, значит в тексте введенным пользователем есть слово из твоего массива слов.

    Детали реализации: any и list comprehension
    Ответ написан
    Комментировать
  • Почему Python не видит библиотеку?

    Maksim_64
    @Maksim_64
    Data Analyst
    Оставить на денек, другой SpeechRecognition в покое, и познакомится с концепцией виртуального окружения.
    Ответ написан
    4 комментария
  • Почему объект копируется, а не создаётся заново?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Понять разницу между объектом класса, и объектом экземпляра класса.
    2. Понять разницу между атрибутами класса и атрибутами экземпляра класса.
    Ответ написан
    Комментировать