1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bupt_xyg-cDataFrame

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

cDataFrame

Библиотека для простого управления двумерными данными

Содержание

Функциональность

  • Поддержка io csv файла [✔]
  • Конструирование dataframe (construct) [✔]
  • Модификация dataframe [Не выполнено]
    1. Удаление [Не выполнено]
    1. Модификация [Не выполнено]
    1. Добавление [Не выполнено]
    1. Объединение [Не выполнено]
    1. Удаление повторений [Не выполнено]
    1. Основной поиск [Выполнено]
  • Расширение поиска dataframe (AVL_p) [Не выполнено]
    1. Конструирование AVL дерева [Не выполнено]
    1. Операции AVL [Не выполнено]
  • Расширение соответствия dataframe (match_p) [Выполнено]
    1. Вычисление выражений [Выполнено]
    1. Интерфейс match [Выполнено]
    1. Интерфейс eval [Выполнено]
  • Расширение хэширования dataframe (hash_p) [Не выполнено]
    1. Конструирование хэша [Не выполнено]
    1. Разрешение коллизий [Не выполнено]
  • Расширение статистики dataframe (statu_p) [Не выполнено]
    • Числовой тип
      1. Сумма [Выполнено]
      1. Среднее значение [Выполнено]
      1. Медиана [Не выполнено]
      1. Сортировка [Не выполнено]
      1. Интервал [Не выполнено]
      1. ...
    • Математический тип
      1. Высокоэффективные вычисления [Не выполнено]
      1. ...
  • ...### Разработка
  • Используется стандарт C11
  • Желательно использовать нижнее подчеркивание для названий / PascalCase

Ожидаемый срок завершения

Проект направлен на развитие навыков работы с алгоритмами, структурами данных, оптимизациями и архитектурой. Также цель состоит в создании полезных инструментов. Кроме того, это возможность найти друзей (шепчет).

Использование

Добро пожаловать в cRainbowconsole

Установка

Существует несколько способов интеграции cDataFrame в ваши проекты.

Добавление исходных файлов в ваш проект

Полностью cRainbow состоит всего из двух файлов, вы можете просто добавить cDataFrame.h и cDataFrame.c в свой проект и начать использовать его. Вы можете добавить cDataFrame в свои исходные коды следующим образом:

#include "cDataFrame.h"

Для максимальной совместимости с различными платформами и компиляторами, cDataFrame написан согласно стандарту ANSI C (C89).### Структуры данных cell — структура данных, которая может содержать [int, float, string] и другие типы columns — структура колонок, состоящая из таблицы cells и связного списка колонок dataframe — структура DataFrame, содержащая несколько структур колонок

cell

/* Структура cell: */
typedef struct _cell /* Одна ячейка */
{   
    element data;
    type type;
}cell;

Структура element

/* Структура element: */
typedef union _element /* Тип данных для cell */
{
    char char_ch[200]; // Не более 199 байтов
    size_t integer_num;
    double float_num;
    char nan[4];
}element;

columns

Структура columns

/* Структура columns: */
typedef struct _columns /* Эта структура доступна только через голову связанного списка */
{
    size_t index;
    char name[COL_NAME_LENGTH_MAX]; // Название колонки
    struct _columns* next_col;
    series series;
}column;

Структура series

/* Структура series: */
typedef struct _series /* Таблица cell */
{
    cell* cell_table;
    size_t size;
    size_t top;
}series;

dataframe

Структура dataframe

/* Структура dataframe: */
typedef struct _dataframe /* Таблица данных */
{
    size_t length;
    size_t width; // Размер информации
    column* col; // Голова связанного списка колонок
}dataframe;

API

Операции уровня файла

read_csv(const char* path) Этот метод возвращает объект типа dataframe, который содержит данные, прочитанные из CSV файла. to_csv(dataframe* df, const char* path) Этот метод позволяет сохранять объект типа dataframe в CSV файл.

Операции уровня dataframe

dfprint(dataframe* df) Этот метод выводит данные из df в консоль в удобочитаемом виде.cellfind(dataframe* df, size_t col, size_t index) Этот метод возвращает указатель на cell в позиции [col, index] внутри df. Однако прямое изменение этого cell не рекомендуется.

Начальная работа с cDataFrame

Открытый лицензионный договор (Лицензия MIT)> Авторское право © 2009-2017 GuoZi

Данное программное обеспечение ("Программа") предоставляется бесплатно любому лицу, получившему копию этого программного обеспечения и связанных с ним документов. Можно использовать Программу без каких-либо ограничений, включая использование, копирование, модификацию, объединение, публикацию, распространение, предоставление sublicense и/или продажу копий Программы, а также возможность предоставления другим лицам права использования Программы при условии соблюдения следующих условий:

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

Программа предоставляется «как есть», без какой бы то ни была гарантии, явной или подразумеваемой, в том числе, но не ограничиваясь, гарантиями товарности, пригодности для конкретных целей и отсутствием нарушений. В случае возникновения какого-либо требования, ущерба или другой ответственности, связанной с действиями контракта, деликтом или иным образом, вытекающей из Программы или её использования, авторы и владельцы авторского права не будут нести никакой ответственности.

Помощь

Если вы столкнулись с проблемами при использовании cDataFrame, вы можете найти решения здесь или в разделе issue.

  • Гоцзи (оригинальный автор)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bupt_xyg-cDataFrame.git
git@api.gitlife.ru:oschina-mirror/bupt_xyg-cDataFrame.git
oschina-mirror
bupt_xyg-cDataFrame
bupt_xyg-cDataFrame
master