Descriptive statistics
This PR introduces the following measurements/statistics:
### numerical columns (float and int):
- nan values count
- nan values percentage
- min
- max
- mean
- median
- std
- histogram: 
  - for float: fixed number of bins (which is a global config parameter - tell me if it's an overkill :D)
  - for integers: bin size is always an integer value. if difference between max and min is less then fixed number of bins parameter, bin size is equal to 1, otherwise it's `round((max-min)/num_bins)` - which means that bins might be not equal (like the last one being smaller) but otherwise there could be float bin edges which is nonsense.

### categorical columns
These are **only** `ClassLabel` columns which is not ideal because some integers also might be categories, as well as strings, but we can't be sure in advance.
- nan values count
- nan values percentage
- number of unique values
- counts for each value


<details><summary>Here's the result for my toy dataset with 1000 rows </summary>
<p>

[polinaeterna/delays_nans](https://huggingface.co/datasets/polinaeterna/delays_nans)

```python
{
    "num_examples": 100000,
    "statistics": [
        {
            "column_name": "class_col",
            "column_type": "class_label",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "n_unique": 5,
                "frequencies": {
                    "this": 19834,
                    "are": 20159,
                    "random": 20109,
                    "words": 20172,
                    "test": 19726
                }
            }
        },
        {
            "column_name": "class_col_nans",
            "column_type": "class_label",
            "column_statistics": {
                "nan_count": 49972,
                "nan_proportion": 0.49972,
                "n_unique": 5,
                "frequencies": {
                    "this": 9904,
                    "are": 10021,
                    "random": 10126,
                    "words": 10061,
                    "test": 9916
                }
            }
        },
        {
            "column_name": "delay",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": -10.206,
                "max": 8.48053,
                "mean": 2.10174,
                "median": 3.4012,
                "std": 3.12487,
                "histogram": {
                    "hist": [
                        2,
                        34,
                        256,
                        15198,
                        9037,
                        2342,
                        12743,
                        45114,
                        14904,
                        370
                    ],
                    "bin_edges": [
                        -10.206,
                        -8.33734,
                        -6.46869,
                        -4.60004,
                        -2.73139,
                        -0.86273,
                        1.00592,
                        2.87457,
                        4.74322,
                        6.61188,
                        8.48053
                    ]
                }
            }
        },
        {
            "column_name": "delay_nans",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 49892,
                "nan_proportion": 0.49892,
                "min": -10.206,
                "max": 8.48053,
                "mean": 2.11288,
                "median": 3.4012,
                "std": 3.11722,
                "histogram": {
                    "hist": [
                        1,
                        17,
                        137,
                        7515,
                        4522,
                        1197,
                        6481,
                        22593,
                        7473,
                        172
                    ],
                    "bin_edges": [
                        -10.206,
                        -8.33734,
                        -6.46869,
                        -4.60004,
                        -2.73139,
                        -0.86273,
                        1.00592,
                        2.87457,
                        4.74322,
                        6.61188,
                        8.48053
                    ]
                }
            }
        },
        {
            "column_name": "temp",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": 0.6,
                "max": 14.9,
                "mean": 7.28953,
                "median": 7.5,
                "std": 3.05441,
                "histogram": {
                    "hist": [
                        4711,
                        9781,
                        10349,
                        9781,
                        20166,
                        17046,
                        13965,
                        8794,
                        4055,
                        1352
                    ],
                    "bin_edges": [
                        0.6,
                        2.03,
                        3.46,
                        4.89,
                        6.32,
                        7.75,
                        9.18,
                        10.61,
                        12.04,
                        13.47,
                        14.9
                    ]
                }
            }
        },
        {
            "column_name": "temp_nans",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 49959,
                "nan_proportion": 0.49959,
                "min": 0.6,
                "max": 14.9,
                "mean": 7.29404,
                "median": 7.5,
                "std": 3.05107,
                "histogram": {
                    "hist": [
                        2392,
                        4855,
                        5143,
                        4879,
                        10040,
                        8571,
                        7058,
                        4452,
                        2014,
                        637
                    ],
                    "bin_edges": [
                        0.6,
                        2.03,
                        3.46,
                        4.89,
                        6.32,
                        7.75,
                        9.18,
                        10.61,
                        12.04,
                        13.47,
                        14.9
                    ]
                }
            }
        },
        {
            "column_name": "vehicle_type",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": 0,
                "max": 2,
                "mean": 0.82646,
                "median": 1.0,
                "std": 0.72333,
                "histogram": {
                    "hist": [
                        36343,
                        44668,
                        18989
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        2
                    ]
                }
            }
        },
        {
            "column_name": "vehicle_type_nans",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 50247,
                "nan_proportion": 0.50247,
                "min": 0,
                "max": 2,
                "mean": 0.82542,
                "median": 1.0,
                "std": 0.72384,
                "histogram": {
                    "hist": [
                        18135,
                        22169,
                        9449
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        2
                    ]
                }
            }
        },
        {
            "column_name": "weekday",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": 0,
                "max": 6,
                "mean": 3.08063,
                "median": 3.0,
                "std": 1.90347,
                "histogram": {
                    "hist": [
                        10282,
                        15416,
                        15291,
                        15201,
                        15586,
                        15226,
                        12998
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        6
                    ]
                }
            }
        },
        {
            "column_name": "weekday_nans",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 50065,
                "nan_proportion": 0.50065,
                "min": 0,
                "max": 6,
                "mean": 3.07762,
                "median": 3.0,
                "std": 1.90272,
                "histogram": {
                    "hist": [
                        5136,
                        7695,
                        7711,
                        7550,
                        7749,
                        7646,
                        6448
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        6
                    ]
                }
            }
        }
    ]
}
```

</p>
</details> 
Descriptive statistics: This PR introduces the following measurements/statistics:
### numerical columns (float and int):
- nan values count
- nan values percentage
- min
- max
- mean
- median
- std
- histogram: 
  - for float: fixed number of bins (which is a global config parameter - tell me if it's an overkill :D)
  - for integers: bin size is always an integer value. if difference between max and min is less then fixed number of bins parameter, bin size is equal to 1, otherwise it's `round((max-min)/num_bins)` - which means that bins might be not equal (like the last one being smaller) but otherwise there could be float bin edges which is nonsense.

### categorical columns
These are **only** `ClassLabel` columns which is not ideal because some integers also might be categories, as well as strings, but we can't be sure in advance.
- nan values count
- nan values percentage
- number of unique values
- counts for each value


<details><summary>Here's the result for my toy dataset with 1000 rows </summary>
<p>

[polinaeterna/delays_nans](https://huggingface.co/datasets/polinaeterna/delays_nans)

```python
{
    "num_examples": 100000,
    "statistics": [
        {
            "column_name": "class_col",
            "column_type": "class_label",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "n_unique": 5,
                "frequencies": {
                    "this": 19834,
                    "are": 20159,
                    "random": 20109,
                    "words": 20172,
                    "test": 19726
                }
            }
        },
        {
            "column_name": "class_col_nans",
            "column_type": "class_label",
            "column_statistics": {
                "nan_count": 49972,
                "nan_proportion": 0.49972,
                "n_unique": 5,
                "frequencies": {
                    "this": 9904,
                    "are": 10021,
                    "random": 10126,
                    "words": 10061,
                    "test": 9916
                }
            }
        },
        {
            "column_name": "delay",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": -10.206,
                "max": 8.48053,
                "mean": 2.10174,
                "median": 3.4012,
                "std": 3.12487,
                "histogram": {
                    "hist": [
                        2,
                        34,
                        256,
                        15198,
                        9037,
                        2342,
                        12743,
                        45114,
                        14904,
                        370
                    ],
                    "bin_edges": [
                        -10.206,
                        -8.33734,
                        -6.46869,
                        -4.60004,
                        -2.73139,
                        -0.86273,
                        1.00592,
                        2.87457,
                        4.74322,
                        6.61188,
                        8.48053
                    ]
                }
            }
        },
        {
            "column_name": "delay_nans",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 49892,
                "nan_proportion": 0.49892,
                "min": -10.206,
                "max": 8.48053,
                "mean": 2.11288,
                "median": 3.4012,
                "std": 3.11722,
                "histogram": {
                    "hist": [
                        1,
                        17,
                        137,
                        7515,
                        4522,
                        1197,
                        6481,
                        22593,
                        7473,
                        172
                    ],
                    "bin_edges": [
                        -10.206,
                        -8.33734,
                        -6.46869,
                        -4.60004,
                        -2.73139,
                        -0.86273,
                        1.00592,
                        2.87457,
                        4.74322,
                        6.61188,
                        8.48053
                    ]
                }
            }
        },
        {
            "column_name": "temp",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": 0.6,
                "max": 14.9,
                "mean": 7.28953,
                "median": 7.5,
                "std": 3.05441,
                "histogram": {
                    "hist": [
                        4711,
                        9781,
                        10349,
                        9781,
                        20166,
                        17046,
                        13965,
                        8794,
                        4055,
                        1352
                    ],
                    "bin_edges": [
                        0.6,
                        2.03,
                        3.46,
                        4.89,
                        6.32,
                        7.75,
                        9.18,
                        10.61,
                        12.04,
                        13.47,
                        14.9
                    ]
                }
            }
        },
        {
            "column_name": "temp_nans",
            "column_type": "float",
            "column_statistics": {
                "nan_count": 49959,
                "nan_proportion": 0.49959,
                "min": 0.6,
                "max": 14.9,
                "mean": 7.29404,
                "median": 7.5,
                "std": 3.05107,
                "histogram": {
                    "hist": [
                        2392,
                        4855,
                        5143,
                        4879,
                        10040,
                        8571,
                        7058,
                        4452,
                        2014,
                        637
                    ],
                    "bin_edges": [
                        0.6,
                        2.03,
                        3.46,
                        4.89,
                        6.32,
                        7.75,
                        9.18,
                        10.61,
                        12.04,
                        13.47,
                        14.9
                    ]
                }
            }
        },
        {
            "column_name": "vehicle_type",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": 0,
                "max": 2,
                "mean": 0.82646,
                "median": 1.0,
                "std": 0.72333,
                "histogram": {
                    "hist": [
                        36343,
                        44668,
                        18989
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        2
                    ]
                }
            }
        },
        {
            "column_name": "vehicle_type_nans",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 50247,
                "nan_proportion": 0.50247,
                "min": 0,
                "max": 2,
                "mean": 0.82542,
                "median": 1.0,
                "std": 0.72384,
                "histogram": {
                    "hist": [
                        18135,
                        22169,
                        9449
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        2
                    ]
                }
            }
        },
        {
            "column_name": "weekday",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 0,
                "nan_proportion": 0.0,
                "min": 0,
                "max": 6,
                "mean": 3.08063,
                "median": 3.0,
                "std": 1.90347,
                "histogram": {
                    "hist": [
                        10282,
                        15416,
                        15291,
                        15201,
                        15586,
                        15226,
                        12998
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        6
                    ]
                }
            }
        },
        {
            "column_name": "weekday_nans",
            "column_type": "int",
            "column_statistics": {
                "nan_count": 50065,
                "nan_proportion": 0.50065,
                "min": 0,
                "max": 6,
                "mean": 3.07762,
                "median": 3.0,
                "std": 1.90272,
                "histogram": {
                    "hist": [
                        5136,
                        7695,
                        7711,
                        7550,
                        7749,
                        7646,
                        6448
                    ],
                    "bin_edges": [
                        0,
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        6
                    ]
                }
            }
        }
    ]
}
```

</p>
</details> 