Как рассчитать среднее значение столбца с помощью DataFrame? - PullRequest
0 голосов
/ 17 октября 2018

Я хочу вычислить среднее значение столбца с помощью DataFrame.

Например, 4-й столбец.Я использую этот код:

import numpy as np
import pandas as pd

data = pd.DataFrame(np.arange(16).reshape(4,4))
list1= data.iloc[:, 3:4]
averageNum=np.mean(list1)
print(averageNum)

Но вывод:

   3    9.0
dtype: float64

Почему вывод нравится это?

На самом деле, я просто хочу получить 9.0 так как его получить?

Ответы [ 3 ]

0 голосов
/ 17 октября 2018

Учитывая ваши данные, как насчет

averageNum = data.iloc[:, 3].mean()

. Здесь находится 4-й столбец data, который представляет собой pandas.Series, среднее значение которого равно 9.

print(averageNum).9.0.

0 голосов
/ 17 октября 2018

Используйте DataFrame.iloc для выбора 4 столбцов по позициям, а затем используйте mean:

averageNum = data.iloc[:, 3].mean()
print(averageNum)
9.0

Ваше решение возвращает один столбец DataFrame, решение использует DataFrame.squeeze для Series:

averageNum = data.iloc[:, 3:4].squeeze().mean()
print(averageNum)
9.0
0 голосов
/ 17 октября 2018

Если у вашего 4-го столбца есть индекс, скажем, «column4», то вы можете просто выполнить -

mean_of_column = df['column4'].mean()

Функции типа iloc, чтобы получить индексы и, следовательно, могут быть очень медленными, когда у вас есть большое количестводанные. Это намного лучше и быстрее, если вы можете думать об операциях, которые вы хотите сделать, с точки зрения векторов. Есть несколько встроенных функций, которые я должен настаивать на том, чтобы вы использовали, например, mean.Я предлагаю вам поближе познакомиться с библиотекой панд ( 10 минутное вступление к пандам для начинающих ), проводя некоторое время с дневниками или любыми связанными блогами или беседами, вместо того, чтобы искатьвсе, что вы хотите сделать на SO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...