• Постоянно вылазит ошибка NoneType:None в чём дело?

    Vindicar
    @Vindicar
    RTFM!
    А что, по твоему, ты пытаешься сделать?
    Эта функция выводит информацию о текущем обрабатываемом исключении. А у тебя в коде исключения не выбрасываются.
    По факту, эту функцию имеет смысл использовать только когда обрабатываешь исключение, т.е. внутри блока except.
    Ответ написан
    Комментировать
  • Куда развиваться верстальщику?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    сложилось ощущение, что web заканчивается на вёрстке лендингов и создании интернет-магазинов

    Разработчики Озон, Сбербанк-Онлайн, Яндекс, Netflix и многие другие смотрят на это заявление с недоумением. Да и интернет-магазины вы зря недооцениваете, например М-Видео разрабатывает большая команда, в которой несколько тимлидов.
    Ответ написан
    2 комментария
  • Python and json не правильно формирует базу, как починить?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Используйте базу данных. Например SQLite а не выдумывайте свои костыли
    Ответ написан
    1 комментарий
  • Python cоздание переменной с значением генерируемой переменной?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну если ты только изучаешь python, зачем тебе pandas. Код не надо править его нужно выкидывать.

    a) Ты хочешь прочитать каждый xlsx файл в отдельный фрейм, это нормально. Создаешь пустой список и складываешь в него фреймы.
    dfs = []
    for filename in fileanmes:
        df = pd.read_excel(filename)
        dfs.append(df)

    где filenames твои пути для xlsx файлов.

    б) Задача не ясна. На сколько я понял у этих файлов разные имена колонок и надо выбрать общий для всех набор.

    from functools import reduce
    import numpy as np
    
    df1 = pd.DataFrame({
        'A':[1],
        'B':[2]
    })
    
    df2 = pd.DataFrame({
        'A':[1],
        'C':[2]
    })
    
    df3 = pd.DataFrame({
        'A':[1],
        'D':[2]
    })
    
    dfs_column_names = [df1.columns, df2.columns, df3.columns]
    print(reduce(np.intersect1d, dfs_column_names))
    Вот так ты можешь найти общие колонки у любого количества фреймов.
    Естественно тебе не нужно хардкодить список с колонками прям в первом цикле заноси не только фрейм в список, но и в другой список заноси его колонки потом вне списка сохрани общий набор колонок как я привел в примере.

    Ну и я так понимаю в дальнейшем ты собираешься выбрать по уникальным для всех фреймов колонкам и собрать все в единый фрейм. pd.concat(dfs). Где dfs это список фреймов, с едиными колонками. То есть предварительно, ты как я показал нашел common_columns. и затеам dfs=[df[common_columns] for df in dfs]. И затем конкатенируешь.
    Ответ написан
    4 комментария
  • Как считать выражение из переменной?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Если это
    lst = [1, 2, 1-2**64, 2**64]
    то нельзя, так как 1-2**64 вычисляется в момент создания списка.

    Единственный вариант - сразу передавать в строковом виде
    lst = ["1", "2", "1-2**64", "2**64"]
    pairs = [(x, eval(x)) for x in lst]
    min_pair = min(pairs, key=lambda x: x[1])
    print(min_pair[0])
    Ответ написан
    Комментировать
  • Как дропнуть все таблицы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе проще новую базу создавать каждый раз. Я так делал. А старая пускай лежит как бекап.
    Создаешь db1, db2, db3.... Потом удаляешь которые уже не нужны.

    Или в докере разворачиваешь если пустая нужна.
    Ответ написан
  • Ошибка NameError: name 'np' is not defined?

    Maksim_64
    @Maksim_64
    Data Analyst
    Попробуй установить если не установлен numpy и импортировать его import numpy as np
    Ответ написан
    Комментировать
  • Где учить нейросети python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Пока что посмотрел про линейные и полиноминальные регрессии
    слово регрессия может упоминаться в контексте вида задач машинного обучения, чьей главной особенностью является непрерывность зависимой переменной. Задачи регрессии можно решать как средствами классического ML так и нейронными сетями. Так и в контексте алгоритмов. полиномиальная регрессия, простая регрессия, авторегрессия и т.д. Так вот скорее всего судя по твоему вопросу, не с какими нейронными сетями ты не знакомился, а просто посмотрел какие то алгоритмы классического ML.

    Где и как изучать, это долгий путь. Что бы понимать принцип нейронных сетей. Нужна Линейная алгебра и Одномерное и Многомерное исчисление (Multivariable Calculus). Что бы понимать что происходит, ты должен уметь дифференцировать и знать что такое оптимизация функции. Этому нельзя научится прочитав статью.
    Либо ищи книги материалы по Линейной Алгебре и Одномерному и Многомерному Исчислению (Дифференцирование Интегрирование функции (одной, многих переменных)) на русском. Либо если знаешь английский (что я бы назвал обязательным требованием для IT любого направления уровня специалист). На khan academy есть курсы которые восполнят требования со стороны математики (Algebra1, Algebra 2,Precalculus, Calculus AB, Caluclus BC, Multivariable Calculus, Linear Algebra). Если с этим материалом будет все комфортно, то дальше покупаешь книгу по deep learning. И не испытываешь не каких проблем по пониманию материала. Во время обучения натаскиваешь чистый python, что бы мог читать чужой код, и не испытывать проблем при работе с библиотеками. И подучиваешь необходимы библиотеки из ML стека.
    Ответ написан
    3 комментария
  • Ошибка 'AudioDevice' object has no attribute 'activate'. Как исправить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вероятно, атрибут Activate с большой буквы, судя по документации pycaw.
    Ответ написан
    5 комментариев
  • Почему код разбиения на слагаемые не работает?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Во-первых, "слагаемые".
    Во-вторых, почитайте код вашей рекурсивной функции, он выдаёт количество, а не сами варианты сложения. Если не можете это понять из кода, то вам рано такие задачи. Серьёзно.
    А ошибка у вас из-за того, что такой алгоритм упирается в размер максимальной глубины рекурсии. Если хотите такие значения считать, делайте итеративный алгоритм, а не рекурсивный. Если эти слова тоже для вас новые, то надо браться за учебник, эта задача слишком сложна будет для вас.
    Успехов.
    Ответ написан
    Комментировать
  • Как исправлять названия файлов (переименовывать) скачанных из ВК и других источников с нижним подчеркиванием?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я ищу какое-нибудь приложение, утилиту или скрипт, который поможет мне автоматически исправлять имена файлов.

    Коробочного решения скорее всего не будет. Тут слишком много всякой специфики. Не напасешся правил.

    Из кроссплатформенных - могу предложить Java и Python. Разумеется вы должны уметь на них
    писать или лучше наймите фрилансера чтоб он вам один раз это хотя-бы написал.
    Ответ написан
    Комментировать
  • Как нажать кнопку на сайте, парсинг?

    @alekssamos
    Программист любитель
    import requests
    s=requests.session()
    s.headers={"X-Requested-With": "XMLHttpRequest"}
    joke_text = s.post("https://randstuff.ru/joke/generate/").json()["joke"]["text"]
    print(joke_text)
    Ответ написан
    Комментировать
  • Реалтайм на питоне возможен?

    Нет. Планировщик ОС легко может ворочать приоритетами твоего приложения и от этого скорость немного будет скакать.
    Также тут будет влиять скорость компьютера.
    Чуть лучше будет, если попробуешь задавать задержку явно через sleep.

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

    Там тоже не будет точности реалтайма и часто не будет возможности задать очень низкий интервал, но погрешность будет более предсказуемая и не будет сильно зависеть от железа.

    А чтобы измерить задержки - выводи время в каждом таком такие (можно даже не реальное, а системное).

    Потом посмотри на равномерность интервалов через какой-нибудь excel.
    Ответ написан
    Комментировать
  • Один connect при старте или connect-fetch-close при необходимости?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Используй пул соединений. В asyncpg он поддерживается.

    В доке есть
    Ответ написан
    1 комментарий
  • Discord бот не видит файл "prefix.txt", как решить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Спросите там, где вы взяли код.
    Ответ написан
    2 комментария
  • Как зациклить это действие?

    Vindicar
    @Vindicar
    RTFM!
    Цикл while?
    Не, серьёзно. Это основы языка. Открой учебник и читай.
    Ответ написан
    Комментировать
  • Каким образом определяют наиболее старую версию python для работоспособности кода?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Никто этим не занимается. В современном мире есть 100500 способов виртуализации Python
    библиотек
    . Виртуалки, Докеры, Кубернетисы, И всякие анаконды, конды и прочее что можно
    в командной строке делать просто меняя PATH.
    Ответ написан
    Комментировать
  • В чем отличие ngnix от golang?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ну раз с фронта пересели, то аналогию понять должны: В чëм отличие Google Chrome от JavaScript?
    Ответ написан
    3 комментария
  • Как мне убрать несколько символов из tuple?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Изучать самые основы языка.
    Ответ написан
    4 комментария
  • Как превратить str в словарь (2 часть)?

    Vindicar
    @Vindicar
    RTFM!
    Сам словарь полученный от телеграмм мне нужно его в нужном моменте сохранять в бд, а позже вытаскивать обратно превращая назад в dict, но все идет по наклонной

    Ну т.е. как и предсказывали, проблема в более раннем коде.
    Когда сохраняешь в БД, делай не str(mydict), а json.dumps(mydict). Тогда можно будет делать json.loads() при загрузке.

    Только словарь надо будет почистить от постороннего, а ещё лучше - сначала сделать свой словарь ,в который сохранять ТОЛЬКО то, что тебе надо. Например, ты не заметил, что у тебя в словаре есть
    'entities': [<telebot.types.MessageEntity object at 0x7770137fd0>]

    Сюрприз-сюрприз, объект
    <telebot.types.MessageEntity object at 0x7770137fd0>
    явно сериализации не поддаётся, и ни сохранить, ни восстановить его не выйдет. Или убирать ключ entities, если он тебе не нужен, или разбираться, что это за объект и сериализовывать/восстанавливать его вручную.
    Ответ написан
    3 комментария