Как вычислить среднее значение в фрейме данных Python Pandas?

#python #pandas #dataframe #average

#python #pandas #фрейм данных #среднее

Вопрос:

В моем фрейме данных Python Pandas есть 2 столбца для зарплаты (сумма) и общего количества сотрудников (Staff), получающих эту конкретную зарплату (10 сотрудников получают 300 долларов, 20 сотрудников получают 200 долларов и 30 сотрудников получают 100 долларов).).Я должен рассчитать среднюю зарплату всех сотрудников. Есть ли какой-либо способ сделать это? Я довольно новичок в Python Pandas, поэтому буду признателен за любую помощь! Заранее спасибо.

    Amount  Staff
0     100     30
1     200     20
2     300     10  
  

Ответ №1:

Это точно так, как вы описали — никаких специальных методов.

 df = pd.read_csv(io.StringIO("""   Amount  Staff
0     100     30
1     200     20
2     300     10"""), sep="s ")

(df["Amount"] * df["Staff"]).sum() / df["Staff"].sum()
  

вывод

 166.66666666666666
  

Ответ №2:

Я думаю, вы можете использовать mean по определению — sum / counts:

 s = df.assign(Amount = df["Amount"].mul(df["Staff"])).sum()
print (s)
Amount    10000
Staff        60
dtype: int64

print (s.Amount / s.Staff)
166.66666666666666