• Увеличение списка до нужной длинны в pyhon?

    Maksim_64
    @Maksim_64
    Data Analyst
    Обычно когда мы имеем дело с множеством списков разной длинны и нужно выбрать из каждого по индексу то zip_longest из itertools решает проблему. Способов применения может быть много, простейший выглядит вот так
    from itertools import zip_longest 
    x = [1, 2, 3, 4, 5, 6, 7] 
    y = [8, 9, 10] 
    z = [9, 3, 4, 5]
    list(zip_longest(x,y,z))
    Ну а там в зависимости от того как эти списки получаются и что на выходе можно по разному реализовать. zip_longrst имеет параметр fillvalue, чем заполнять по умолчанию None. Ну и надо помнить про распаковку, то есть если все эти списки собраны ну например в какой то один список то можно использовать так.
    data = [x,y,z]
    list(zip_longest(*data))
    Ответ написан
    Комментировать
  • О независимости событий?

    Maksim_64
    @Maksim_64
    Data Analyst
    654c84d154555722205620.png

    Смотри если A и B имеют общие исходы это еще не означает что они зависимы, знание что событие произошло должно изменять вероятность события А. Поменяй условие задачи, сделай не восьмигранник, а кубик. Омега будет {1,2,3,4,5,6}, A = {не четные}, B = {больше или равно 4}. A и B будет {5}. далее проделай все тоже самое, что я в ответе, и в этом случае они будут зависимыми.
    Ответ написан
    3 комментария
  • Существует ли нейросеть для краткого пересказа книг?

    Maksim_64
    @Maksim_64
    Data Analyst
    Bard может читать, документы которые лежат на гугл диске и составлять заключение о прочитанном. Вся инфа которую ты ему дашь может быть использована гуглом. То есть ни какой "конфиденциальной" информации, ну и там возможно еще какие то ограничения, что бы все это дело не превращалось в бизнес. Но функционал такой имеется, и для себя заключение по какой нибудь книге вполне сгодится. Так надо определенное расширение установить и будет работать.
    Ответ написан
    Комментировать
  • Нормально ли keras тдёт на windows?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну смотри, tensorflow - это операции с тензорами. Keras - это просто интерфейс для нейронок. Так вот tensorflow версии > 2.10 не поддерживает Windows GPU. То есть на сегодняшних версиях ты не сможешь использовать GPU для операций с тензорами.

    Изучать то можно, но если сегодняшняя библиотека не поддерживает windows, то в чем смысл, все не стоит на месте. И инвестируя свое время в изучение инструмента, ты должен быть уверен что сможешь использовать его завтра.
    Ответ написан
    2 комментария
  • Как изменить имя столбца в SQLite?

    Maksim_64
    @Maksim_64
    Data Analyst
    Наверное дело в устаревшей версии SQLite, обнови ее.
    Ответ написан
    4 комментария
  • Насколько приемлема такая проверка на четность (делимость) в Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Все три нормальные, используй какой нравится. Ничего из твоих примеров не является плохой практикой.
    Ответ написан
    Комментировать
  • Как называется сцециалист, который может найти нишу для продукта?

    Maksim_64
    @Maksim_64
    Data Analyst
    Специалист, называется продуктовый аналитик. Это они строят гипотезы, относительно рыночных продуктов, в условиях недостаточности информации. Кому интересен? Тут извини я не думаю, что у данного продукта возможна сколько-нибудь значимая аудитория.
    Ответ написан
  • Как сделать так чтобы данные перезаписывались, а не добавлялись новые?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ты используешь pandas датафрейм, потом начинаешь чего то изобретать. Pandas фрейм имеет метод to_sql https://pandas.pydata.org/docs/reference/api/panda.... Ему надо передать имя таблицы, объект соединения, так же у него есть параметр if_exists, которому можно присвоить значение replace. И будет перезапись.

    Раз уж у тебя есть фрейм то и оставайся в рамках датафрема сформируй необходимый подсет. И без cursor.execute отправляй в любую базу в том числе и в sqlite.
    Ответ написан
    8 комментариев
  • Как нарисовать картинку имея координаты точек?

    Maksim_64
    @Maksim_64
    Data Analyst
    Все очень просто, используй matplotlib, pandas и seaborn. Возможности не ограниченные.
    сначала читаем это дело в pandas фрейм и затем рисуем scatterplot. Можно их соеденить сделать их разного размера создать любую палитру цветов, да все что угодно
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    df = pd.read_csv('data.csv',sep=';')
    sns.scatterplot(df, x='x',y='y',hue='c')
    plt.show()

    Вот простенький пример где data.csv это твои данные. Открывай доки как seaborn так и matplotlib и кастомизируй по своему желанию. Рабочий маленький пример рисования точек по цвету третьей переменной я привел.
    Ответ написан
    Комментировать
  • Где этот TkInter?

    Maksim_64
    @Maksim_64
    Data Analyst
    Не надо его скачивать он входит в стандартную библиотеку python.
    Ответ написан
  • Что сделать что бы при print списка выводились нормальные данные а не что то непонятное?

    Maksim_64
    @Maksim_64
    Data Analyst
    То что ты положил то он тебе и выводит.
    self.add.pares.append(Create(token, link)) Вот здесь ты добавил в свой список объект типа Create. Твой класс не имеет не метода __str__, не метода __repr__ То есть строковое представление объекта Create ты не создал. В таком случае python выводит просто адрес в памяти объекта Create. Определи что ты хочешь что бы там было.
    Ну например
    class Create:
        def __init__(self, token1, link1):
            self.token1 = token1
            self.link1 = link1
            self.pares = []
        def info(self):
            print(str(self.pares))
    
        def __str__(self):
            return f'Create({self.token1}, {self.link1})'
    
        def __repr__(self):
            return f'Create({self.token1}, {self.link1})'

    Вот так он будет выводить объект и его параметры. Раз классы изучал, лекцию какой для чего метод читать не буду, сам почитаешь. Ну и определи свое какое ты имеешь ввиду для них строковое представление.
    Ответ написан
    Комментировать
  • Не понимаю, почему программа "тяжелая"?

    Maksim_64
    @Maksim_64
    Data Analyst
    Потому что вызовов рекурсивной функции происходит больше раз чем ты ожидаешь, и растет все это дело не линейно с увеличением n. Нужно оптимизировать рекурсивную функцию.
    from functools import lru_cache
    @lru_cache
    def F(n):
        print(n)
        if n <= 1:
            return n
        if n>1: 
            return F(n-1)+F(n-2)
    F(8)
    Вот твоя функция в точности, я добавил кеширование результатов, и print(n). Запусти с ним и без него и посмотри сколько лишних вызовов происходит. Если владеешь английским вот хорошая статья почитай как сделать своими руками, без встроенного декоратора, различные стратегии и т.д. https://realpython.com/lru-cache-python/
    Ответ написан
    1 комментарий
  • Почему переопределяются имена __slots__ при наследовании объектов?

    Maksim_64
    @Maksim_64
    Data Analyst
    Убери двойной подчеркивание, оставь одинарное. Если ты создаешь атрибут с двойном подчеркиванием, то python хранит атрибут в __dict__ добавляя одно нижнее подчеркивание затем имя класса, то есть вот так _ClassName__attrname. Если ты в __slots__ уберешь двойной подчеркивание перед именем оставишь одинарное, то имена атрибутов будут хранится, как ты ожидаешь.
    Ответ написан
    Комментировать
  • Как настроить обновление приложения на dash python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Такого быть не должно, было дело делал дашборд недавно и все было нормально. Я надеюсь ты не забываешь сохранять изменения в файле, из того что можно попробовать это поменять порт там же app.run_server(debug=True,port=3004) как советуют вот здесь https://stackoverflow.com/questions/52163784/pytho... . Ну и то проблема может быть если у тебя запущено более одного приложения.
    Ответ написан
    Комментировать
  • Как создать вложенные списки внутри списка для построения матрицы на Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну смотри, я так понимаю задача сделать это на чистом python, если что у numpy массива имеется reshape() метод, который делает все это прекрасно, просто введешь размерности и если операция возможна n*m должно давать длинна массива он выполнит преобразование.

    На чистом python задача указать количество колонок, это будет размер внутреннего списка. То есть ну как то так
    l = [int(i) for i in '1 2 3 4 5 6 7 8 9'.split()]
    m=3
    result = [l[i:i+m] for i in range(0, len(l), m)]
    Ответ написан
    4 комментария
  • В чём у меня ошибка в данной задаче?

    Maksim_64
    @Maksim_64
    Data Analyst
    Странно, вроде занимаешься машинным обучением где-то взял код, а не вопрос нормально задать не можешь, не подправить в двух местах, ошибки которые и к машинному обучение то отношения не имеют.
    print((f'accuracy:{accuracy_score(y_perd,y_test) :.3}'))
    вот в этой строчке, ты не смог подправить не правильно написанное имя переменной, y_pred должно быть.
    вот в этой строчке ты не смог правильно написать название колонки
    sns.scatterplot(x='petal_width', y='petal_lenght',data=iris,hue = 'species', s=70)
    должно быть y='petal_length'

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

    А ну и закомментируй лишнее в общем вот рабочая версия
    код
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score
    import seaborn as sns
    from matplotlib import pyplot as plt
    import numpy as np
    import pandas as pd
    from sklearn import datasets
    
    iris= sns.load_dataset('iris')
    #iris
    x_train, x_test, y_train, y_test= train_test_split(
        iris.iloc[:,:-1],
        iris.iloc[:,-1],
        test_size= 0.15
    )
    
    def init_model(k, x_train, y_train, x_test):
      model = KNeighborsClassifier(n_neighbors=k)
      # print(model)
      model.fit(x_train,y_train)
    
      y_pred = model.predict(x_test)
      return y_pred
    
    def grath(y_test,x_test,y_pred):
      plt.figure(figsize=(10, 7))
      sns.scatterplot(x='petal_width', y='petal_length',data=iris,hue = 'species', s=70)
      plt.xlabel('Длина лепестка,см')
      plt.ylabel('Ширина лепестка,см')
      plt.legend(loc=2)
      plt.grid()
      for i in range(len(y_test)):
          if np.array(y_test)[i] != y_pred[i]:
              plt.scatter(x_test.iloc[i,3],x_test.iloc[i,2],color = 'red', s = 150)
    
    
    
    # x_train.shape, x_test.shape, y_train.shape, y_test.shape
    
    # x_train.head()
    # y_train.head()
    
    k = int(input('Чему равно k? '))
    
    y_pred = init_model(k,x_train,y_train,x_test)
    print((f'accuracy:{accuracy_score(y_pred,y_test) :.3}'))
    grath(y_test,x_test,y_pred)
    Ответ написан
    1 комментарий
  • Как распарсить этот XML?

    Maksim_64
    @Maksim_64
    Data Analyst
    С твоей библиотекой не работал, но с BeautifulSoup все работает как надо.
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(data, 'xml')
    name = soup.find('ns2:Name').text
    surname = soup.find('ns2:Surname').text
    email = soup.find('ns2:Email').text
    birthday = soup.find('ns2:Birthday').text
    Ответ написан
    2 комментария
  • Не могу решить задачу на python?

    Maksim_64
    @Maksim_64
    Data Analyst
    На вот тебе вот такое решение, доводи до ума.
    text = 'Я есть Грут.Ты нет.'
    print(
        '.'.join(' '.join(reversed(item.split(' '))).capitalize() for item in text.split('.'))
    )
    Ответ написан
  • Как называется AI который заменяет лица на видео?

    Maksim_64
    @Maksim_64
    Data Analyst
    в целом такие модели упоминаются, как deepfake, так же swap faces. Вбивай и гугли, репозитарии или сервисы которые такое предоставляют.
    Ответ написан
    Комментировать
  • Как хранить константы в python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Вот большой гайд о константах, Там в принципе описаны все возможные способы создания констант, а их много. И самое главное, есть раздел Handling Your Constants in a Real-World Project, то что тебе и нужно, а не просто "знакомство". Ресурс в python среде пользуется репутацией, его даже в продвинутых книгах упоминают.
    https://realpython.com/python-constants/
    Ответ написан
    4 комментария