Как найти среднее арифметическое каждого столбца

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Linq;
 
namespace ConsoleApplication1
{
    class Program
    {
        const int N = 5; //строки
        const int M = 6; //столбцы
 
        static Random rnd = new Random();
 
        static void Main(string[] args)
        {
            int[,] matrix = new int[N, M]; //Объявляем матрицу
 
            //Заполняем матрицу случайными значениями от -10 до 20
            for (int i = 0; i < N; i++)
                matrix.SetRow(Enumerable.Range(0, M).Select(x => x = rnd.Next(-10, 20)).ToArray(), i);
            
            //Печатаем матрицу в консоль
            for (int i = 0; i < N; i++)
                Console.WriteLine(string.Join("t", matrix.GetRow(i)));
 
            //Находим среднее арифметическое столбцов
            var result = Enumerable.Range(0, M).Select(x => matrix.GetColumn(x).Sum() / M);
 
            //Печатаем среднее арифметическое под соответствующим столбцом (округление к меньшему по модулю)
            Console.WriteLine();
            Console.WriteLine(string.Join("t", result));
 
            Console.ReadKey(true);
        }
    }
 
    //Плюшки для облегчения работы с матрицей
    public static class ArrayExtensions
    {
        public static long SetRow<T>(this T[,] array, T[] data, int i)
        {
            return Enumerable.Range(0, array.GetLength(1)).Select(j => array[i, j] = data[j]).LongCount();
        }
 
        public static T[] GetRow<T>(this T[,] data, int i)
        {
            return Enumerable.Range(0, data.GetLength(1)).Select(j => data[i, j]).ToArray();
        }
 
        public static T[] GetColumn<T>(this T[,] data, int i)
        {
            return Enumerable.Range(0, data.GetLength(0)).Select(j => data[j, i]).ToArray();
        }
    }
 
}
        Console.WriteLine("Enter n:");
        int n=Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Enter m:");
        int m = Convert.ToInt32(Console.ReadLine());
        int [,]arr=new int [n, m];
        Random ran = new Random();
        int sum = 0;
        float middle = 0;

        for (int i=0; i < n; i++)
        {
            for(int j=0; j<m; j++)
            {
                arr[i, j] = ran.Next(0, 100);


                    sum += arr[i, j];

                 middle = sum /( m*n);

                Console.Write(arr[i, j] + "t");


            }
            Console.WriteLine();

        }
        Console.WriteLine("middle=" + middle);

        Console.ReadLine();

В двумерном массиве найти среднее арифметическое первой колонки и количество элементов в каждой из следующих колонок, превышающих среднее арифметическое предварительной колонки.
Смогла найти только среднее арифметическое всего массива

задан 17 ноя 2018 в 16:52

Helpless's user avatar

HelplessHelpless

131 серебряный знак3 бронзовых знака

5

Я могу написать на С++.

for(int i = 0;i < n;++i){
    int sum = 0;
    for(int j = 0;j < m;++j){
        sum = sum + array[j][i];
    }
    int avr = sum / n;
    cout << avr << endl;
}

Как и человек попросил переведу С# хотя я в нем ни-ни

Console.WriteLine("Enter n:");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter m:");
int m = Convert.ToInt32(Console.ReadLine());
int [,]arr=new int [n, m];
int []sum=new int [m];
Random ran = new Random();

for (int i=0; i<n; i++)
{
    for(int j=0; j<m; j++)
    {
        arr[i, j] = ran.Next(0, 100);

        Console.Write(arr[i, j] + "t");
    }
    Console.WriteLine();
}

for (int i=0; i<m; i++)
{
    for(int j=0; j<n; j++)
    {
        sum[i] += arr[j, i];
    }
}

for (int i=0; i<m; i++)
{
    Console.Write(float(sum[i] / n)  + " ");
}
Console.ReadLine();

Мы фиксируем колону и проходим по всем строкам колоны.
Найдя сумму каждой колонки можно найти и средне арифметическую

ответ дан 17 ноя 2018 в 17:18

Саддам's user avatar

СаддамСаддам

136 бронзовых знаков

1

Находим среднее арифметическое по колонкам:

Пишем extension-метод:

public static class ArrExt
{
    public static double GetAverageForColumn(this int[,] arr, int i) =>
        Enumerable.Range(0, arr.GetLength(0)).Select(j => arr[j, i]).Average();
}

Используем (нумерация колонок начинается с 0):

var array = new int[,]
{
    { 1, 2, 3 },
    { 1, 12, 5 },
    { 1, 5, 3 }
};

var average = array.GetAverageForColumn(1);
Console.WriteLine(average);

ответ дан 17 ноя 2018 в 17:17

Volodymyr Rets's user avatar

Volodymyr RetsVolodymyr Rets

2,39713 серебряных знаков26 бронзовых знаков

  • Редакция Кодкампа

17 авг. 2022 г.
читать 1 мин


Часто вам может быть интересно вычислить среднее значение одного или нескольких столбцов в кадре данных pandas. К счастью, вы можете легко сделать это в pandas, используя функцию mean() .

В этом руководстве показано несколько примеров использования этой функции.

Пример 1. Найдите среднее значение одного столбца

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
 'rebounds': [np.nan, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame 
df

 player points assists rebounds
0 A 25 5 NaN
1 B 20 7 8.0
2 C 14 7 10.0
3 D 16 8 6.0
4 E 27 5 6.0
5 F 20 7 9.0
6 G 12 6 6.0
7 H 15 9 10.0
8 I 14 9 10.0
9 J 19 5 7.0

Мы можем найти среднее значение столбца под названием «точки», используя следующий синтаксис:

df['points'].mean()

18.2

Функция mean() также будет исключать NA по умолчанию. Например, если мы найдем среднее значение столбца «отскоки», первое значение «NaN» будет просто исключено из расчета:

df['rebounds'].mean()

8.0

Если вы попытаетесь найти среднее значение столбца, который не является числовым, вы получите сообщение об ошибке:

df['player'].mean()

TypeError: Could not convert ABCDEFGHIJ to numeric

Пример 2. Найдите среднее значение нескольких столбцов

Мы можем найти среднее значение нескольких столбцов, используя следующий синтаксис:

#find mean of points and rebounds columns
df[['rebounds', 'points']].mean()

rebounds 8.0
points 18.2
dtype: float64

Пример 3. Найдите среднее значение всех столбцов

Мы можем также найти среднее значение всех числовых столбцов, используя следующий синтаксис:

#find mean of all numeric columns in DataFrame
df.mean ()

points 18.2
assists 6.8
rebounds 8.0
dtype: float64

Обратите внимание, что функция mean() просто пропустит столбцы, которые не являются числовыми.

Дополнительные ресурсы

Как рассчитать медиану в Pandas
Как рассчитать сумму столбцов в Pandas
Как найти максимальное значение столбцов в Pandas

Содержание

  • Стандартный способ вычисления
  • Вычисление с помощью Мастера функций
  • Панель формул
  • Ручной ввод функции
  • Расчет среднего значения по условию
  • Вопросы и ответы

Среднее арифметическое в Microsoft Excel

В процессе различных расчетов и работы с данными довольно часто требуется подсчитать их среднее значение. Оно рассчитывается путем сложения чисел и деления общей суммы на их количество. Давайте выясним, как вычислить среднее значение набора чисел при помощи программы Microsoft Excel различными способами.

Стандартный способ вычисления

Самый простой и известный способ найти среднее арифметическое набора чисел — это воспользоваться специальной кнопкой на ленте Microsoft Excel. Выделяем диапазон чисел, расположенных в столбце или в строке документа. Находясь во вкладке «Главная», жмем на кнопку «Автосумма», которая расположена на ленте в блоке инструментов «Редактирование». Из выпадающее списка выбираем пункт «Среднее».

Вычисление среднего значения в Microsoft Excel

После этого, с помощью функции «СРЗНАЧ», производится расчет. В ячейку под выделенным столбцом, или справа от выделенной строки, выводится средняя арифметическая данного набора чисел.

Среднее арифметическое в Microsoft Excel вычислено

Этот способ хорош простотой и удобством. Но, у него имеются и существенные недостатки. С помощью этого способа можно произвести подсчет среднего значения только тех чисел, которые располагаются в ряд в одном столбце, или в одной строке. А вот, с массивом ячеек, или с разрозненными ячейками на листе, с помощью этого способа работать нельзя.

Например, если выделить два столбца, и вышеописанным способом вычислить среднее арифметическое, то ответ будет дан для каждого столбца в отдельности, а не для всего массива ячеек.

Среднее арифметическое в Microsoft Excel для двух столбцов

Вычисление с помощью Мастера функций

Для случаев, когда нужно подсчитать среднюю арифметическую массива ячеек, или разрозненных ячеек, можно использовать Мастер функций. Он применяет все ту же функцию «СРЗНАЧ», известную нам по первому методу вычисления, но делает это несколько другим способом.

  1. Кликаем по ячейке, где хотим, чтобы выводился результат подсчета среднего значения. Жмем на кнопку «Вставить функцию», которая размещена слева от строки формул. Либо же, набираем на клавиатуре комбинацию Shift+F3.
  2. Переход в мастер функций в Microsoft Excel

  3. Запускается Мастер функций. В списке представленных функций ищем «СРЗНАЧ». Выделяем его, и жмем на кнопку «OK».
  4. Выбор функции СРЗНАЧ в Microsoft Excel

  5. Открывается окно аргументов данной функции. В поля «Число» вводятся аргументы функции. Это могут быть как обычные числа, так и адреса ячеек, где эти числа расположены. Если вам неудобно вводить адреса ячеек вручную, то следует нажать на кнопку расположенную справа от поля ввода данных.
  6. Переход к выбору агрументов функции в Microsoft Excel

  7. После этого, окно аргументов функции свернется, а вы сможете выделить ту группу ячеек на листе, которую берете для расчета. Затем, опять нажимаете на кнопку слева от поля ввода данных, чтобы вернуться в окно аргументов функции.
    Выделение ячеек в Microsoft Excel

    Если вы хотите подсчитать среднее арифметическое между числами, находящимися в разрозненных группах ячеек, то те же самые действия, о которых говорилось выше, проделывайте в поле «Число 2». И так до тех пор, пока все нужные группы ячеек не будут выделены.

  8. Переход к выделению второй группы ячеек в Microsoft Excel

  9. После этого, жмите на кнопку «OK».
  10. Переход к рассчету среднего арифметического в Microsoft Excel

Результат расчета среднего арифметического будет выделен в ту ячейку, которую вы выделили перед запуском Мастера функций.

Среднее арифметическое рассчитано в Microsoft Excel

Панель формул

Существует ещё третий способ запустить функцию «СРЗНАЧ».

  1. Для этого, переходим во вкладку «Формулы». Выделяем ячейку, в которой будет выводиться результат. После этого, в группе инструментов «Библиотека функций» на ленте жмем на кнопку «Другие функции». Появляется список, в котором нужно последовательно перейти по пунктам «Статистические» и «СРЗНАЧ».
  2. Запуск функции СРЗНАЧ через панель формул в Microsoft Excel

  3. Затем, запускается точно такое же окно аргументов функции, как и при использовании Мастера функций, работу в котором мы подробно описали выше.
  4. Переход к рассчету среднего арифметического в Microsoft Excel

  5. Дальнейшие действия точно такие же.

Ручной ввод функции

Но, не забывайте, что всегда при желании можно ввести функцию «СРЗНАЧ» вручную. Она будет иметь следующий шаблон: «=СРЗНАЧ(адрес_диапазона_ячеек(число); адрес_диапазона_ячеек(число)).

Ручной ввод функции в Microsoft Excel

Конечно, этот способ не такой удобный, как предыдущие, и требует держать в голове пользователя определенные формулы, но он более гибкий.

Расчет среднего значения по условию

Кроме обычного расчета среднего значения, имеется возможность подсчета среднего значения по условию. В этом случае, в расчет будут браться только те числа из выбранного диапазона, которые соответствуют определенному условию. Например, если эти числа больше или меньше конкретно установленного значения.

Для этих целей, используется функция «СРЗНАЧЕСЛИ». Как и функцию «СРЗНАЧ», запустить её можно через Мастер функций, из панели формул, или при помощи ручного ввода в ячейку. После того, как открылось окно аргументов функции, нужно ввести её параметры. В поле «Диапазон» вводим диапазон ячеек, значения которых будут участвовать в определении среднего арифметического числа. Делаем это тем же способом, как и с функцией «СРЗНАЧ».

А вот, в поле «Условие» мы должны указать конкретное значение, числа больше или меньше которого будут участвовать в расчете. Это можно сделать при помощи знаков сравнения. Например, мы взяли выражение «>=15000». То есть, для расчета будут браться только ячейки диапазона, в которых находятся числа большие или равные 15000. При необходимости, вместо конкретного числа, тут можно указать адрес ячейки, в которой расположено соответствующее число.

Поле «Диапазон усреднения» не обязательно для заполнения. Ввод в него данных является обязательным только при использовании ячеек с текстовым содержимым.

Когда все данные введены, жмем на кнопку «OK».

Вычисление среднего с условием в Microsoft Excel

После этого, в предварительно выбранную ячейку выводится результат расчета среднего арифметического числа для выбранного диапазона, за исключением ячеек, данные которых не отвечают условиям.

Среднее арифметическое с условием в Microsoft Excel рассчитано

Как видим, в программе Microsoft Excel существует целый ряд инструментов, с помощью которых можно рассчитать среднее значение выбранного ряда чисел. Более того, существует функция, которая автоматически отбирает числа из диапазона, не соответствующие заранее установленному пользователем критерию. Это делает вычисления в приложении Microsoft Excel ещё более удобными для пользователей.

Формулировка задачи:

Ребят, прошу помочь разобраться. Создал двумерный массив. Как найти среднее арифметическое: 1. каждого из столбцов; 2. каждого столбца с четными номерами? Алгоритм вывода среднего арифметич. столбцов на экран тоже нужен, если можно.

Язык C#

   int[,] array = new int[3, 4];
 
            // Заполнение массива
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    array[i, j] = i * j + 1;
                }
            }

Код к задаче: «Нахождение среднего арифметического столбца»

textual

 for (int i=0;i<4;i++)
            {
              [B] i++;[/B]
                int summ = 0;
                for (int j=0;j<3;j++)
                {
                    summ = summ + array[j,i];
                }
                double average = summ / 3;
                int n = i + 1;
                Console.WriteLine("Avarage for " +n+" column is " + average);
            }

Полезно ли:

13   голосов , оценка 4.231 из 5

Понравилась статья? Поделить с друзьями:
  • Как найти выписку по карте сбербанк
  • Выдвижной ящик плохо задвигается как исправить
  • Как найти внутренюю энергию газа
  • Как составить формулу для вычисления в электронных таблицах
  • Как исправить пломбы на передних зубах