Compare commits

...

4 Commits

Author SHA1 Message Date
51a9a4a149 update 2023-10-05 14:42:05 +03:00
c2332f8f45 add 2023-10-05 14:41:32 +03:00
d71ebdb1b3 update 2023-10-05 14:31:50 +03:00
a53633d93a update 2023-10-05 14:28:38 +03:00
8 changed files with 120 additions and 14 deletions

View File

@ -0,0 +1,31 @@
from scipy.stats import f
data = pd.DataFrame({1:[3,1,2],2:[5,3,4],3:[7,6,5]}) # Here 3 groups and we are going to compare them
def odno_disp(data):
first_group = [i for i in data[1]] # Выделяем группы для операции над данными
second_group = [i for i in data[2]]
third_group = [i for i in data[3]]
number_of_groups = len([first_group,second_group,third_group])
all_groups = first_group+second_group+third_group # Все группы тут
mean_of_all_groups = np.mean(all_groups) # среднее значение всей группы
sum_of_squared_total = sum([(i-mean_of_all_groups)**2 for i in all_groups]) # Обьщая изменчивость наших данных, здесь мы расчитали сумму всех квадратов отклонение от среднего
df_of_sst = len(all_groups) - 1 # Число степеней свободы в SST
ssw1 = sum([(i-np.mean(first_group))**2 for i in first_group]) # для расчета суммы квадратов
ssw2 = sum([(i-np.mean(second_group))**2 for i in second_group]) # расчитаем сумму кв всех групп
ssw3 = sum([(i-np.mean(third_group))**2 for i in third_group])
sum_of_squared_within = ssw1+ssw2+ssw3 # сумма квадратов внутри групповая
df_of_ssw = len(all_groups) - number_of_groups # Число степеней свободы во внутри групповой
# Теперь узнаем на сколько наши групповые отклоняются от общегрупповых средних
for_minus_from_each_group = [first_group, second_group, third_group] # для минуса из каждых групп
sum_of_squared_between = sum([number_of_groups*(np.mean(i)-mean_of_all_groups)**2 for i in for_minus_from_each_group])
df_of_ssb = number_of_groups - 1
F = (sum_of_squared_between / df_of_ssb) / (sum_of_squared_within / df_of_ssw)
P_value = f.sf(F, df_of_ssb, df_of_ssw)
if P_value >= 0.05:
return f"Мы не отклоняем нулевую гипотезу так как P_value = {P_value}"
else:
return f"Мы отклоняем нулевую гипотезу то есть P value = {P_value}, H1 верна то есть минимум 2 данные различаются между собой в Генеральной совокупонсти"
p = odno_disp(data)

View File

@ -0,0 +1,30 @@
# students = ['Ivan', 'Masha', 'Sasha']
# students += ['Olga']
# students += 'Olga'
# print (students)
# a = [1, 2, 3]
# b = a
# print (b)
# a[1] = 10
# print (b)
# b[0] = 20
# print (b)
# print (a)
# a = [5, 6]
# print (b)
# print (a)
# # переделать в список каждую отдельную цифру
# num = 1234
# lst = [int(i) for i in str(num)]
# # наоборот из списка в набор слов через пробел
# b = ("apple", "banana", "cherry")
# print (" ".join(b))
n =3
a = [[0]*n]*n
a[0][0]= 5
print (a)

View File

@ -0,0 +1,24 @@
# нахождение дубликатов и вывод уникальных элементов
a = input().split()
a2 = []
for item in a:
c = a.count(item)
if c > 1:
a2.append(item)
if c == 1:
None
def del_dubl(a2):
seen = set()
seen_add = seen.add
return [x for x in a2 if not (x in seen or seen_add(x))]
for i in del_dubl(a2):
print(i, end=' ')
# удаление дубликатов и вывод уникальных в виде списка
a = input().split()
def del_dubl(a):
seen = set()
seen_add = seen.add
return [x for x in a if not (x in seen or seen_add(x))]
print (del_dubl(a))

View File

@ -5,4 +5,15 @@
# print ("\t",str(num), sep='\t')
# num = 12
# print("\t" + str(num), end="")
# print("\t" + str(num), end="")
# for j in range(1):
# print ("c", end="v")
# a = 1
# m=2
# n=3
# print (a+ m,n,end ="\t")
# for i in range(c, d + 1):
# print("\t" + str(i), end="")

View File

@ -1,2 +1,5 @@
a, b, c, d = int(input()), int(input()), int(input()), int(input())
# построчный инпут записанный в 1 строку
# a, b, c, d = int(input()), int(input()), int(input()), int(input())

View File

@ -35,14 +35,4 @@
# print()
initial_list = input().split()
sum_list = []
left_index = -1
right_index = -len(initial_list) + 1
middle_index = 0
while middle_index < len(initial_list):
sum_list.append(initial_list[left_index] + initial_list[right_index])
left_index += 1
right_index += 1
middle_index += 1
print(sum_list)

View File

@ -33,4 +33,21 @@ while middle_index < len(initial_list):
right_index += 1
middle_index += 1
print(sum_list)
# вариант решения 3
a = [int(item) for item in input().split()]
a2 = []
for i in range(len(a)):
if len(a) == 1:
print(a[0])
break
else:
if i == 0:
a2.append(a[-1] + a[i + 1])
elif i > 0 and i != len(a) - 1:
a2.append(a[i - 1] + a[i + 1])
else:
a2.append(a[i - 1] + a[0])
if a2 != 0:
for i in a2:
print(i, end=' ')