Descriptive statistics of a DataFrame

import pandas as pd

df = pd.read_csv('rates.csv', parse_dates=['Time'])
df
Time USD JPY BGN CZK DKK GBP CHF
0 2024-01-17 1.0877 160.65 1.9558 24.755 7.4586 0.85818 0.9406
1 2024-01-16 1.0882 159.64 1.9558 24.710 7.4582 0.86078 0.9361
2 2024-01-15 1.0945 159.67 1.9558 24.714 7.4590 0.86075 0.9351
3 2024-01-12 1.0942 159.17 1.9558 24.689 7.4565 0.85950 0.9350
4 2024-01-11 1.0987 159.71 1.9558 24.659 7.4568 0.86145 0.9338
... ... ... ... ... ... ... ... ...
56 2023-10-26 1.0540 158.48 1.9558 24.714 7.4632 0.87170 0.9466
57 2023-10-25 1.0576 158.55 1.9558 24.693 7.4639 0.87240 0.9474
58 2023-10-24 1.0632 159.26 1.9558 24.659 7.4648 0.87025 0.9501
59 2023-10-23 1.0597 158.91 1.9558 24.645 7.4634 0.87153 0.9461
60 2023-10-20 1.0591 158.80 1.9558 24.704 7.4620 0.87213 0.9442

61 rows × 8 columns

df.describe()
Time USD JPY BGN CZK DKK GBP CHF
count 61 61.000000 61.000000 6.100000e+01 61.000000 61.000000 61.000000 61.000000
mean 2023-12-02 17:42:17.704918016 1.083367 159.357377 1.955800e+00 24.536525 7.458064 0.866149 0.949808
min 2023-10-20 00:00:00 1.053700 154.800000 1.955800e+00 24.260000 7.452900 0.855800 0.926000
25% 2023-11-10 00:00:00 1.070200 157.630000 1.955800e+00 24.420000 7.455900 0.860780 0.942900
50% 2023-12-01 00:00:00 1.087700 159.170000 1.955800e+00 24.543000 7.456900 0.866710 0.947800
75% 2023-12-22 00:00:00 1.094600 161.190000 1.955800e+00 24.659000 7.459000 0.871530 0.962800
max 2024-01-17 00:00:00 1.111400 164.050000 1.955800e+00 24.755000 7.464800 0.876300 0.967300
std NaN 0.014814 2.371918 2.238873e-16 0.131402 0.003083 0.005824 0.012294
df.mean()
Time    2023-12-02 17:42:17.704918016
USD                          1.083367
JPY                        159.357377
BGN                            1.9558
CZK                         24.536525
DKK                          7.458064
GBP                          0.866149
CHF                          0.949808
dtype: object
df.median()
Time    2023-12-01 00:00:00
USD                  1.0877
JPY                  159.17
BGN                  1.9558
CZK                  24.543
DKK                  7.4569
GBP                 0.86671
CHF                  0.9478
dtype: object
df.describe(percentiles=[0.01, 0.05, 0.25, 0.75, 0.95])
Time USD JPY BGN CZK DKK GBP CHF
count 61 61.000000 61.000000 6.100000e+01 61.000000 61.000000 61.000000 61.000000
mean 2023-12-02 17:42:17.704918016 1.083367 159.357377 1.955800e+00 24.536525 7.458064 0.866149 0.949808
min 2023-10-20 00:00:00 1.053700 154.800000 1.955800e+00 24.260000 7.452900 0.855800 0.926000
1% 2023-10-21 19:12:00 1.053880 155.010000 1.955800e+00 24.279200 7.453740 0.855980 0.928520
5% 2023-10-25 00:00:00 1.057600 155.680000 1.955800e+00 24.335000 7.454700 0.857230 0.930800
25% 2023-11-10 00:00:00 1.070200 157.630000 1.955800e+00 24.420000 7.455900 0.860780 0.942900
50% 2023-12-01 00:00:00 1.087700 159.170000 1.955800e+00 24.543000 7.456900 0.866710 0.947800
75% 2023-12-22 00:00:00 1.094600 161.190000 1.955800e+00 24.659000 7.459000 0.871530 0.962800
95% 2024-01-12 00:00:00 1.102300 162.980000 1.955800e+00 24.714000 7.463900 0.873950 0.965600
max 2024-01-17 00:00:00 1.111400 164.050000 1.955800e+00 24.755000 7.464800 0.876300 0.967300
std NaN 0.014814 2.371918 2.238873e-16 0.131402 0.003083 0.005824 0.012294
df.min()
Time    2023-10-20 00:00:00
USD                  1.0537
JPY                   154.8
BGN                  1.9558
CZK                   24.26
DKK                  7.4529
GBP                  0.8558
CHF                   0.926
dtype: object
df[['USD', 'CHF', 'CZK']].describe()
USD CHF CZK
count 61.000000 61.000000 61.000000
mean 1.083367 0.949808 24.536525
std 0.014814 0.012294 0.131402
min 1.053700 0.926000 24.260000
25% 1.070200 0.942900 24.420000
50% 1.087700 0.947800 24.543000
75% 1.094600 0.962800 24.659000
max 1.111400 0.967300 24.755000