Прямо сейчас студенты 1 курса ФИИТ сдают экзамен по Основам программирования. И подошли к делу очень творчески :) Оценка - отлично!
PascalABC.NET официальный канал
Официальный канал языка и системы программирования PascalABC.NET
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20Лаконичные вычисления для матриц Насколько выразительной и компактной может быть запись алгоритмов, в которых сначала вычисляется некоторая характеристика строк или столбцов матрицы, а затем — агрегированная характеристика по всем полученным значениям! Например, одной строкой можно найти максимум сумм строк матрицы. Точно так же просто вычисляется среднее значение минимумов её столбцов. begin var a := MatrRandom; a.Println; // Максимум сумм строк a.Rows.Max(row -> row.Sum).Println; // Среднее ми...
Вышла версия PascalABC.NET 3.11.1. Список изменений - здесь https://pascalabcnet.github.io/mydoc_release_notes_3_11_1.html Основное - новый промышленный модуль для работы с данными - DataFrameABC. Возможности, скорость работы - сравнимы с pandas, ML.NET, Polars, Apache Spark DataFrame API.
Связка методов GroupBy и Each - словарь характеристик групп Открываем красоту LINQ в сочетании с элегантностью PascalABC.NET. Смотрите, как легко делать аналитику данных: type Product = auto class Category: string; Model: string; Price: real; Rating: real; end; begin var products := [ new Product('Phones', 'iPhone 13', 499.99, 4.5), new Product('Phones', 'Galaxy S21', 699.99, 4.7), new Product('Phones', 'iPhone 13', 299.99, 4.2), new Product('Laptops', 'MacBook', 999.99, 4.8), new Product('Lapto...
Модуль DataFrame - скорость считывания данных из CSV Считывание данных из CSV оптимизировано. В примере - файл с 1 миллионом строк и 20 столбцами разных типов считывается за 1.2 секунды. Этот же файл в pandas считывается за 0.65 сек - здесь код написан на C++, поэтому быстрее, но не намного. В примере вы также видите другие параметры Load - разделители между данными, режим наличия заголовка и режим строгой проверки на ошибки #DataFrameABC
Модуль DataFrameABC - удаление столбцов Для удаления столбцов используется метод Drop. Возвращается новый датафрейм. Данные не копируются, т.е. Drop работает как View. #DataFrameABC
Модуль DataFrameABC - переименование столбцов Для переименования столбцов используется метод датафрейма Rename. Возвращается новый датафрейм. Можно переименовывать несколько столбцов одномоментно #DataFrameABC
Модуль DataFrameABC - добавление нового вычисляемого столбца Можно добавлять новые вычисляемые столбцы с помощью WithColumn... В примере показано, как добавить вычисляемый столбец passed, который принимает значение True для тех, у кого score >= 80. Создается новый датафрейм, но данные создаются только для нового столбца. #DataFrameABC
Модуль DataFrameABC - выбор столбцов Выбор столбцов в новом эффективном модуле DataFrameABC делается с помощью метода Select с указанием массива выбираемых столбцов. Возвращается View в виде нового датафрейма uses DataFrameABC; begin var df := DataFrame.FromCsvText(''' name,age,score Alice,20,85 Bob,22,90 Charlie,21,78 '''); df.Select(['name', 'score']).Print; end. #DataFrameABC
Модуль DataFrameABC - фильтрация Для фильтрации строк используется метод Filter. Возвращается новый датафрейм. Вызов - в стиле LINQ, однако row здесь имеет тип DataFrameCursor - курсор, перемещающийся по данным. #DataFrameABC