Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2015, 12:53   #1
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию Вычисление среднего значения

Имеется текстовый файл с данными
Rc,RT,CL
03,05,02
05,06,09
05,06,09
05,06,09
04,05,02
05,06,09
05,06,09
05,06,09
Как через LINQ посчитать среднее значение второго столбца?
Fil_1990 вне форума Ответить с цитированием
Старый 08.10.2015, 14:14   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

продолжаем мучать LINQ?

а если так (убрав первую строку с заголовками и оставив только данные):
Код:
string[] TextLines = {
"03,05,02",
"05,06,09",
"05,06,09",
"05,06,09",
"04,05,02",
"05,06,09",
"05,06,09",
"05,06,09"};
		
			double RatingAverage = TextLines.Select(s => Convert.ToDouble(s.Split(',')[2])).Average(r=>r);
			
			Console.WriteLine("{0:F8} ", RatingAverage);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.10.2015, 14:21   #3
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Сергей первую строку с шапкой убирать нельзя(
Надо чтобы прогнала программа второй столбец и посчитала среднее значение.
Может метку надо какую нибудь?
В файле 1000 строк
Fil_1990 вне форума Ответить с цитированием
Старый 08.10.2015, 14:32   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы можете в программе ее просто не учитывать
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.10.2015, 14:35   #5
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

У меня получился ответ 0.669, какой то результат сомнительный
Fil_1990 вне форума Ответить с цитированием
Старый 08.10.2015, 14:38   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так [2] это последний столбец, а не средний.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.10.2015, 14:40   #7
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Я работаю с 1000 ю значений
Fil_1990 вне форума Ответить с цитированием
Старый 08.10.2015, 15:01   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так [2] это последний столбец, а не средний.
Ну да, Вы правы!!!
Второй столбец это [1]

Fil_1990
исправьте в коде индекс:
Код:
Convert.ToDouble(s.Split(',')[1])

насчёт "шапки" (первой строки), как я понимаю, вопрос уже успешно решён?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.10.2015, 15:27   #9
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Вот мой код
Код:
 //Среднее количество восстановлений(авто)
            var RT = from line in readText.Skip(19)
                     let values = line.Split(',')
                     where values.Length > 1
                     where !string.IsNullOrEmpty(values[7])
                     select int.Parse(values[7]);
            var average = RT.Average();
            Console.WriteLine(average);
Fil_1990 вне форума Ответить с цитированием
Старый 08.10.2015, 15:36   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

во-первых, почему 8-й столбец вдруг появился?

во-вторых, раз Вы получили список RT, кто Вам мешает вывести его в обычный файл и потом а) сравнить с оригиналом б) подсчитать среднее хоть в том же Excel (для самопроверки).


кроме того, расскажите, зачем Вы каждый раз создаёте новую тему?
Ведь, как я понимаю, файл с отказами один и тот же во всех ваших темах! И задачу Вы однотипную во всех своих темах решаете. Может быть, стоило это всё делать в рамках одной темы?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление среднего значения в формате дд/мм/гг aMuratovna Microsoft Office Excel 5 05.03.2015 16:09
Вычисление среднего значения roxy7 Microsoft Office Excel 2 13.12.2011 19:41
Вычисление среднего значения из нескольких полей одной записи yellowviolet Microsoft Office Access 4 16.11.2011 22:55
вычисление среднего арифметического по датам mori Microsoft Office Excel 6 17.12.2009 08:21
Вычисление среднего во временном ряде alexk Microsoft Office Excel 5 18.06.2008 14:41