Ответы пользователя по тегу Python
  • Как отсортировать данные в txt файле?

    @dmshar
    Если у вас данные во второй файл не поступают динимачечски, то разумнее его отсортировать один раз по ip и так хранить. Возможно - сразу-же и отсортировать. А в случае необходимости - просто извлекать нужные записи из уже отсортированного файла.
    Это можно сделать в Python "в ручную", но проще - через pandas. Т.е. читаете файл в DataFrame, группируете (group by), сортируете и получившийся DataFrame сбрасываете на диск. Далее - по мере необходимости - работаете с уже отсортированным файлом (или DataFrame - в зависимости от того, что за задача).

    Если же у вас данные поступают динамически, причем динамически изменяется и первый и второй файл (т.е. второй файл просто постоянно накапливает новую информацию, а первый - это по сути запрос пользователя на поиск конкретных ip вовтором файле) - то ничего другого, как последовательного просмотр второго файла для каждого вновь заданного ip придумать сложно.
    Ответ написан
    Комментировать
  • Я хочу написать видео переводчик с помощью питон, с чего начать?

    @dmshar
    Можете начать с того, что-бы понять, что такое машинный перевод
    https://towardsdatascience.com/introduction-to-mac...
    Потом - разберитесь с тем, что такое обработка видео,
    Потом - как организовать захват звука, разбор фонем, подавление шумов и прочее.
    Потом самое простое - соединить это воедино.
    Ответ написан
    Комментировать
  • За счёт чего NumPy массивы эфективнее питоновских списков?

    @dmshar
    Массивы в Numpy реализованы почти так-же как и в С++ . Главное отличие - это всегда непрерывный в оперативной памяти участок однотипных данных. За счет этих двух фундаментальных свойств и соответственно - отсутствия соответствующих проверок и преобразований, операции над элементами массивов Numpy выполняются ощутимо быстрее, чем над списками, особенно при больших объемах хранимой информации. Недостатком массивов в Numpy есть неэффективное использования оперативной памяти в случаях, если реальных элементов массиве меньше, чем задекларированный размер массива.
    Списки реализованы в виде несколько модифицированной ссылочной структуры С++. Точнее - память там выделяется блоками, доступ не прямо к элементу, а через систему ссылок и пр. Кроме того, списки это разнотипные элементы, более того - это возможно еще и списки списков или списки других составных типов данных. В общем, что-бы выполнить простую операцию, интерпретатору необходимо выполнить достаточно много проверок и переходов.
    В последних версиях реализация списков сильно оптимизирована. Тем не менее, операции с его элементами остаются более медленными, чем над элементами массивов Numpy.
    Наличие "множества полезных и удобных функций" - это уже производное от базовых отличий.
    Ответ написан
  • Какая часть математики нyжна для изyчения глyбокое обyчения?

    @dmshar
    И что, вы выберете эти разделы и кинетесь именно их учить?
    Ну вот вам ответили в соседнем ответе. И что? Только вот что-бы выучить ту же теорию оптимизации надо знать и классическую вышку, и линейную алгебру и много чего еще чего.
    Математика - эта такая наука, которая не терпит растягивания на кусочки. Уж точно - на уровне школьной программы или программы инженерного универа.
    Ответ написан
    Комментировать
  • Все темы python?

    @dmshar
    Нескромный вопрос - а зачем вам? Думаю, люди программирующие на Python по 5+ лет никогда все его темы, "прям полный от начала до конца" никогда не то что не пользовали, но даже не изучали
    Ответ написан
  • Как дальше продвигаться новичку в питоне?

    @dmshar
    Я обычно объясню необходимость изучения алгоритмов примерно так.
    Представте, вы учитесь играть на музыкальном инструменте и хотите стать музыкантом.
    Не тем, который "три аккорда - любая мелодия" а настоящим, классным исполнителем неважно чего - хоть Битлз, хоть Бетховена, хоть Моцарта - но именно классным.
    Ежу понятно, как идти к этой цели.
    - Сначала играем гаммы. Долго, упорно. до автоматизма.
    - Потом играем этюды. Да это скучновато, да это точно не Битлз, да мелодия не ахти -но там есть тысячи пассажей и приемов, от простых к сложным. Вот их мы осваиваем, постепенно, повышая свое мастерство. Шаг за шагом, с каждым этюдом или с каждой адаптированной для новичков мелодией приобретаем навыки игры все более и более сложных "комбинаций нот".
    - И только потом учимся играть "настоящую" музыку.
    Попытки перескочить этот естественный путь развития приедет к тому, что "для себя" вы играть может быть и научитесь, но вот слушать вас толпы зрителей - вряд-ли согласятся добровольно.
    Ничего не напоминает?

    Гаммы -- синтаксис языка программирования и простейшие задачи из учебников. Даже если в этих учебниках есть примеры "как бы сложных" проектов - игр, решалок и пр. - это все равно с точки зрения профессионала не более, чем гаммы. И научившись этому кодировщиком вы станете, а вот алгоритмическое мышление развить - врят-ли.

    Этюды -- вот это и есть алгоритмы. На самом деле этот курс надо рассматривать не как последовательое изучения предмета (как математика, физика, химия, история..) а как мастер-класс, в котором вам показывают, как подойти к задаче, с какой стороны ее проанализировать, как разложить на последовательность элементарных кирпичиков и как потом эти кирпичики сложить в стройную конструкцию. По сути вас учат алгоритмически думать, тренировать себя для того, что-бы потом, освоив эти навыки уметь самостоятельно "играть любую мелодию"=составлять любую программу от идеи до реализаци, и составлять ее так, что-бы она была по возможности эффективной, читабельной и масштабируемой.

    Конечно, изложение выше - это некое упрощение, можно сказать краткое объяснение на пальцах для новичков. Но суть от этого не меняется. И алгоритмы - есть обязательное (одно из многих других, кстати!) условие превращения "кодировщика" в "разработчика", даже если этот разработчик никогда сам в жизни не будет писать алгоритм сортировки или обхода графа.
    Вот как-то так.
    Ответ написан
    1 комментарий
  • Как удалить повторяющиеся строки в df, кроме одной с максимальным значением?

    @dmshar
    df.drop_duplicates(subset=['Описание','Артикул'], keep="last")

    Out[132]:
    Описание Цена Артикул
    1 бочка 300 1
    3 стол 450 4
    Ответ написан
  • Чем pandas отличается по возможностям от MS Excel,MS Access, SQL?

    @dmshar
    Pandas - инструмент программирования, даются возможности, делай что хочешь. MS Excel,MS Access - закрытые инструменты: что дали тем и пользуйся. Шаг вправо, шаг влево - и сполошной головняк. Попробуйте на EXCEL реализовать какой-нибудь простенький метод типа WMW или ARIMA- замаетесь. Я уж не говорю, если что-то надо считать в режиме он-лайн. А табличку простенькую (и не очень) - конечно, проще вести на EXCEL. SQL - вообще доступ к БД и больше по сути ничего.
    Так что каждый овощ - в свой салат. А для каждой задачи - свой инструмент.
    Ответ написан
    Комментировать
  • Как распознать кириллический экранный текст на изображении?

    @dmshar
    Берете в качестве примера обучение сети некирилическому тексту (скорее всего, вам будет доступен английский), разбираетесь и сами (если уж хочется самостоятельности) по аналогии делаете распознавание кириллицы.
    А то, что качество не радует - ну так сравните, на скольких РАЗМЕЧЕННЫХ примерах обучались английские распознавалки и сколько вы им можете подсунуть за разумное время кириллических размеченных образцов.
    Ответ написан
  • Был курс, но не могу найти его снова, по питону и машин леарнинг?

    @dmshar
    Вот поэтому, суперточному описанию "то ли по нейросетям, то ли по машинному обучению на питоне...... используется библиотечка онлайн ...... есть какой-то датасет.... а оно тебе графики строит, предугадывает дальнейшее поведение и прочие прелести.......то ли от гугла, то-ли еще от кого-то известного...... Или может что еще посоветуете почитать. " .
    в сети не просто много, а почти все, что там есть.
    Надоело для ленивых каждый раз переписывать. Вот позавчера уже составлял для очередного страждущего знаний, там и литература и курсы:
    Литература или какие-нибудь курсы математики для машинного обучения?
    А по самой задаче - проблема в том, что у каждого из ваших конкурентов может быть своя особая модель, иногда в корне противоречащая другим. С помощью МL вы можете либо попытаться понять, у каких конкурентов подобные модели (задача кластеризации) либо для каждого из конкурентов (или их выделенных групп) составить их модель ценообразования. Впрочем смысл последнего действия более чем сомнителен.

    А графики посмотреть - так это вообще к МL никаким боком не относиться.
    В общем - пора наводить порядок в своих мыслях и от "поразмыслить" переходить к "исследовать"
    Ответ написан
  • С чего начать изучение анализа данных python?

    @dmshar
    Давайте с конца в начало.
    "Если самостоятельно, то с чего начать изучение?" - тут все понятно и однозначно. Если хотите учиться самостоятельно, то начинать надо, естественно с обучения самостоятельному поиску нужной информации в сети. Хотя-бы с помощью Гуугла. А затем - самостоятельному принятию решений.

    "стоит ли тратить такие большие деньги, или же лучше начать изучение самостоятельно" - вообще-то что бы стать специалистом, надо потратить очень много времени. Правило 1000 часов никто не отменял. Особенно в таком "мозгоёмком" направлении как Data Science. Вон люди ведут дискуссии на тему - необходим-ли уровень phD, что-бы считать себя специалистом по анализу данных, или достаточно магистерского уровня по профильной специальности. Поэтому обязательно включите в список рассматриваемых альтернатив "получение высшего образования". И возможно это должен быть первым вариантом. А уж если по каким-то причинам не получиться - то переходить к следующим.

    "цены начинаются от 60 тысяч рублей." - вообще-то весьма гуманно. Вы же, когда станите специалистом, за бесплатно работать не захотите. Вот и люди тоже хотят. Тут надо смотреть не на ценник, а на то, кто и что вам будет рассказывать. Если вчерашний студент или человкек без опыта (кстати, как профессионального, так и методического) - то я бы не платил. А если это люди с известными именами, известные лекторы, известные разработчики (действительно известные и авторитетные, а не те, кто себя такими считает) - то цена за возможность лично задать вопрос, лично у него чему-нибудь научиться - весьма адекватна. Так что тут надо смотреть внимательно.

    Ну и еще одно - хотите специализироваться в Аналитике данных (и в программировании, кстати, тоже) - не забудьте об английском.
    Ответ написан
    Комментировать
  • Почему не рисуется гистограмма?

    @dmshar
    Не знаю, вы же нам ничего не рассказали ни о себе, ни о IDE, которую используете, ни о версии Python, ни об ошибках/сообщениях, которые получаете. Может у вас seaborn не установлен, магическая команда %matplotlib не верно задана или вы вообще в консоле работаете.
    А ваш график - на рисунке (прямо скопировал ваш скрипт себе в редактор и запустил) 5e3fc88668671088080323.png
    Ответ написан
    7 комментариев
  • Как правильно спроектировать приложение по распознаванию лиц?

    @dmshar
    Мне очень понравился вопрос.
    Ну действительно. Человек только-только (месяц) как начал разбираться в машинном обучении (у других что-бы понять что к чему годы уходят) и хочет сразу же создать весьма нетривиальное приложение, потому что "проще учиться разбирая что-то сложное" (теоретически верно, при условии, что есть необходимая база знаний, упорство и умение самостоятельно учиться) . При этом - в общем-то не хочет разбираться что и как работает, но и взять готовую библиотеку и разобраться хотя-бы в ней - ни-ни, "что бы лучше самой понять". Весьма похвально, правда не совсем ясно, как это сделать без глубокого понимания предмета, то то такое.
    Однако при этом найти в интернете описания решения своей и подобной ей задачи (коих - описаний - в интернете пруд пруди, включая и библиотеки и "планы разработки" ) - тоже самостоятельно или не может или не хочет. И апофеоз - "а опишите мне тут на форуме, "что-то важное по теме", естественно желательно коротко и понятно.
    Занавес.
    Ответ написан
  • Распознавание образов с окна игры?

    @dmshar
    1. Если современные средства ИИ позволяют не то что монстров отслеживать, а куриц, перебегающих дорогу перед автомобилем объезжать, то ответ на вопрос "можно или нет отслеживать и манипулировать мышкой" - понятен и однозначен. Можно.
    2. Возможно реализовать на чем угодно, и на С# и на Python, и на Java и на GO и на Julia.

    Вот только рассчитывать на то, что вы это сделаете дома на коленке - что на Python, что на С - явно не стоит.
    Ответ написан
  • Как подать данные в нейронку?

    @dmshar
    Что вы не можете понять - как из списка в девять элементов сделать два списка по шесть и три?
    X_input = X[0:6]
    X_output = X[6:]
    Ответ написан
    Комментировать
  • Нужно ли высшее образование для получения работы в data science или достаточно самообразования с помощью он-лайн курсов и книг?

    @dmshar
    Все зависит, от чего вы отталкиваетесь. Если есть хорошая (не средняя, а именно хорошая и грубокая) подготовка по вышке в хорощем техническом вузе, желательно на ИТ-специальности - тогда начать осваивать DS можно и самому. Вопрос - хватит-ли у вас времени и усердия. Потому как в отличии от изучения тех-же языков программирования тут за пару месяцев - точно не управитесь.
    Ответ написан
  • Обучение Data Science?

    @dmshar
    1. Сколько времени в день уделять линейной алгебре и как ее изучать самостоятельно?

    Не важно, сколько времени уделять, важно - понимать (не запоминать конкретные факты, а именно понимать "что и почему").
    Вот мнение (одно из многих) о том, что надо из математики:
    https://habr.com/ru/post/432670/

    Занимаюсь по Лутцу и решаю задачи на codewars и hackerrank. Достаточно ли этого?

    Более чем. Но на самом деле, для Data Science понадобятся ОСНОВЫ Python плюс соответствующие библиотеки, в первую очередь Numpy, Matplotlib, Scipy, Pandas. Первую надо понять(!) до перехода к практическим задачам, последние три, а также Scikit-Learn и Tensorflow можно разбирать параллельно с собственно Data Science (точнее с Мachine Learning, потому что, например Data Engineering - это вообще отдельная тема).
    Но! Надо понять, что Мachine Learning - это не программирование на Python (или любом другом языке программирования). Это отдельная наука. А все, что перечислено выше - только легкая "подводка" к теме.
    Ответ написан
    Комментировать
  • Как загрузить csv датасет?

    @dmshar
    Да ну! Работаешь на Python и не можешь файл загрузить????
    Бросай ты это дело: рукописные буквы, нейросеть, tensorflow всякие.
    Нельзя учить атомную физику не выучив таблицу умножения. Или спорить будешь? Так почему ты решил, что сможешь работать с нейросетями не научившись элементарно программировать? А то боюсь, следующим вопросом будет "как цикл написать".
    Да, и по ходу подтяни свои навыки поиска в Гуугл. Очень пригодится.
    Ответ написан
    Комментировать
  • Какие сайты посоветуете для преподавания?

    @dmshar
    Да какая разница? Хоть по скайпу, хоть в Team Viewer, хоть любая из площадок вебинаров. Поверьте, ваши ученики будут оценивать вашу квалификацию как программиста и ваш талант как преподавателя. До оценки системы средств преподавания они дойдут в последнюю очередь.
    Ответ написан
    Комментировать
  • Достаточно ли материалов KhanAcademy по математике чтоб было возможно учить MachineLearning?

    @dmshar
    Ну, задаем вопрос в Гуугл, получаем кучу исчерпывающих ответов, ознакамливаемся, принимаем к действию, начинаем изучать.
    https://habr.com/ru/company/plarium/blog/442772/
    https://habr.com/ru/post/432670/
    ai-news.ru/2018/12/vazhnye_aspekty_matematiki_v_na...
    https://www.datasciencecentral.com/profiles/blogs/...

    За одно решаем, достаточно-ли того что преподают на Khana, что-бы покрыть список рекомендованных разделов и тем.
    Удачи.
    Ответ написан
    Комментировать