Advanced Usage Examples
Sorting and Grouping
#include <tablr/tablr.h>
int main(void) {
TablrDataFrame* df = tablr_read_csv_default("sales.csv");
/* Sort by sales amount descending */
TablrDataFrame* sorted = tablr_dataframe_sort(df, "Amount", false);
/* Group by region */
TablrDataFrame* grouped = tablr_dataframe_groupby(sorted, "Region");
/* Calculate mean sales per region */
TablrDataFrame* avg_sales = tablr_dataframe_aggregate(grouped, "Amount", TABLR_AGG_MEAN);
tablr_dataframe_print(avg_sales);
tablr_dataframe_free(df);
tablr_dataframe_free(sorted);
tablr_dataframe_free(grouped);
tablr_dataframe_free(avg_sales);
return 0;
}
Merging DataFrames
#include <tablr/tablr.h>
int main(void) {
TablrDataFrame* employees = tablr_read_csv_default("employees.csv");
TablrDataFrame* departments = tablr_read_csv_default("departments.csv");
/* Merge on department ID */
TablrDataFrame* merged = tablr_dataframe_merge(
employees, departments, "DeptID", TABLR_JOIN_INNER
);
tablr_dataframe_print(merged);
tablr_dataframe_free(employees);
tablr_dataframe_free(departments);
tablr_dataframe_free(merged);
return 0;
}
Statistical Analysis
#include <tablr/tablr.h>
int main(void) {
TablrDataFrame* df = tablr_read_csv_default("data.csv");
/* Get descriptive statistics */
TablrDataFrame* stats = tablr_dataframe_describe(df);
printf("Statistical Summary:\n");
tablr_dataframe_print(stats);
tablr_dataframe_free(df);
tablr_dataframe_free(stats);
return 0;
}