Как получить вывод mean, stdev, min, max из кадра данных python в файл Excel? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть существующий фрейм данных, созданный моим скриптом. В конце скрипта я конвертирую его в файл .xlsx, используя pandas. Мне удалось выполнить несколько простых задач форматирования, например увеличить размеры столбцов из сценария python.

Я хотел бы знать, как получить среднее значение (и другие, но как только я выясню один из них, другие должны легко следовать) из ряда столбцов в файле dataframe / excel, и я хочу, чтобы они отображались в нижней части файла excel. Это будет выглядеть примерно так:

| ID | Drag Factor | Implulse | MFR |
  1         23           8       4
  2        657           10      6  
  3        300           17      8


MEAN:   326.666    |    11.6  |  6

Я не добавил большую часть своего кода, потому что на самом деле я просто ищу направление к любым модулям в panda или xlsxwriter, которые могут выполнить sh эту задачу. Но если вы хотите, чтобы я был более конкретным c, просто прокомментируйте, и я отредактирую сообщение, включив в него свой точный сценарий. Спасибо!

Ответы [ 3 ]

3 голосов
/ 13 июля 2020

Рассчитайте среднее значение и другие параметры, применив команды python к фрейму данных перед преобразованием в Excel. Используйте команду df.mean() (измените ее в соответствии с вашими потребностями, все, что с ней связано, доступно в Google). Сохраните эти значения в переменной и после преобразования вашего фрейма данных в таблицу Excel используйте sheet1.write(cell row, cell column , value)

2 голосов
/ 13 июля 2020

Вы могли бы сделать что-то вроде этого. Создайте фрейм данных, который получает среднее значение всех столбцов с df.mean(). Это суммирует данные по горизонтали, а не по вертикали, поэтому с помощью .T вы можете транспонировать данные. Затем добавьте его обратно в фрейм данных, используя .iloc, чтобы выполнить некоторые манипуляции с данными, чтобы получить нужный формат:

df1 = df.mean().reset_index().T
df1.columns = df1.iloc[0]
df1.iloc[1,0] = 'Mean'
df2 = df.append(df1).reset_index(drop=True)
df2.iloc[-2] = ''
df2.to_csv('df2.csv', index=False)

output:

ID   Drag Factor    Implulse    MFR
1    23             8           4
2    657            10          6
3    300            17          8

Mean 326.667        11.6667     6

Итак, вывод включает пробел между данными и сводными данными.

0 голосов
/ 13 июля 2020

попробуйте использовать df.describe ()

count 9.000000 mean 5.111111 std 2.147350 min 1.000000 25% 4.000000 50% 6.000000 75% 6.000000 max 8.000000 dtype: float64

...