Перестановка заголовков в linregress python

1

Я использую Linregress в Python, чтобы получить наклон, перехват и т.д.

Результатом является файл csv. Однако вывод данных не имеет заголовков в столбцах. Вывод данных равен: наклон = 5.562, перехват = 223.5 и т.д.

Изображение прилагается к тому, что я вижу в записной книжке Jupyter (левое изображение), и мне нужно, чтобы данные были как (правое изображение). t переупорядочивает данные, так что заголовки не видны горизонтально, но вертикально.

Изображение 174551

Будет здорово, если я смогу помочь в этом.

Спасибо за прочтение!!

Теги:
pandas
python-3.x
scipy

1 ответ

1
Лучший ответ

Вы могли бы сделать что-то вроде:

res = df.groupby('Test_event')[['x','y']].apply(linregress).apply(pd.Series)

res.columns = ['slope','intercept','rvalue','pvalue','stderror']

Хотя прикован apply менее чем идеал

Пример:

>>> df
   Test_event  x   y
0           5  1   4
1           5  1   5
2           5  2   6
3           6  3   8
4           6  4  10
5           6  5  11

>>> res = df.groupby('Test_event')[['x','y']].apply(linregress).apply(pd.Series)
>>> res.columns = ['slope','intercept','rvalue','pvalue','stderror']
>>> res
            slope  intercept    rvalue    pvalue  stderror
Test_event                                                
5             1.5   3.000000  0.866025  0.333333  0.866025
6             1.5   3.666667  0.981981  0.121038  0.288675

В качестве альтернативы вы можете это сделать, но я не уверен, что он более эффективен:

res = (df.groupby('Test_event')
       .apply(lambda group: pd.Series(linregress(group['x'],group['y']))))

res.columns = ['slope','intercept','rvalue','pvalue','stderror']
  • 1
    Спасибо за ответ! Это сработало точно. по мере необходимости :)
  • 0
    Если мне нужно сохранить файл как xlsx, а не csv, что делать?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню