четверг, 9 мая 2024 г.

Вычисление процентилей, дисперсии и стандартного отклонения

import pandas as pd
from scipy import stats

x = pd.Series([3, 1, 2, 5, 6, 0, 10])

iqr_value = stats.iqr(x) # межквартильный размах
print(iqr_value)

import pandas as pd
import numpy as np

x = pd.Series([3, 1, 2, 5, 6, 0, 10])

data_percentile = np.percentile(x, 10) # 10-й процентиль
print(data_percentile)
При вычислении в NumPy используется так называемая интерполяция. По умолчанию в NumPy используется линейная интерполяция (method='linear')
import pandas as pd
import matplotlib.pyplot as plt

times = pd.Series([11.2, 20.5, 22.35, 31.1, 32.05, 33.8, 41.2, 42.15, 43.5, 44.123, 
	51.1, 52.712, 53.053, 54.012, 55.2, 61.987, 62.123, 63.123, 64.12, 65.5678, 66.16, 
	71.051, 72.531, 73.121, 74.71, 75.1233, 76.51, 77.12, 81.005, 82.01, 83.5, 84.323, 
	85.1, 86.1, 87.1, 88.12, 91.56, 92.056, 93.651, 94.777, 95.102, 96.105, 97.503, 
	98.003, 99.00005]) # данные

ax = times.value_counts(ascending=True).plot.bar()  # столбчатая диаграмма не подходит для отображения непрерывных величин
plt.show()

times.hist(bins=4)
plt.show()

import pandas as pd

data = pd.Series([1, 2, 3, 4, 5, 6])

mean = data.mean()
var = 0
for i in data:
    var += (i - mean) * (i - mean)
var /= len(data)  # дисперсия 
std = var**0.5  # стандартное отклонение

print(std)

Комментариев нет:

Отправить комментарий