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

    @iroln
    from pandas import read_csv
    
    out = read_csv(your_file, sep=';', skiprows=[0], header=None)


    Обращаться к полученным данным через индексацию:
    item_str = out[i][j]

    Функция умеет гораздо больше. Pandas - крутая библиотека для анализа данных.
    Ответ написан
    2 комментария
  • Как исправить ошибку из-за четвертого if подряд?

    @iroln
    Используйте нормальный редактор, который:

    - Заменяет табуляцию пробелами
    - Умеет конвертировать "табуляция" <> "пробелы"

    Например, Notepad++ или SublimeText.
    Ответ написан
    Комментировать
  • Python - как определить "тренд" данных?

    @iroln
    А что не получилось с методом наименьших квадратов?

    Вот простейшее решение линейной регрессии:

    def linregress(x, y, w=None, b=None):
        x = np.array(x, dtype=np.float64)
        y = np.array(y, dtype=np.float64)
    
        if w is None:
            w = np.ones(x.size, dtype=np.float64)
    
        wxy = np.sum(w*y*x)
        wx = np.sum(w*x)
        wy = np.sum(w*y)
        wx2 = np.sum(w*x*x)
        sw = np.sum(w)
    
        den = wx2*sw - wx*wx
    
        if den == 0:
            den = np.finfo(np.float64).eps
    
        if b is None:
            k = (sw*wxy - wx*wy) / den
            b = (wy - k*wx) / sw
        else:
            k = (wxy - wx*b) / wx2
    
        return k, b


    На вход поступают векторы данных x и y (можно ещё вектор весов задать), на выходе коэффициенты k, b для модели y = kx + b.

    "Волшебные" функции в numpy: polyfit/polyval.

    Функции вычисления ошибок, типа sse/mse/rmse/rsquare написать легко по формулам, которые можно найти в интернете или в книжках по статистическому и регрессионному анализу.
    Ответ написан
    Комментировать