728x90
반응형

5. 평균 , 중위수

Zarib = [88.8 , 56.6 , 51.8 ,67.3, 45.4 ,57.5, 70.7, 38.8 ,  71.6 , 26.6 , 34.2 , 36.0 , 25.7, 21.7, 28.0 , 41.7 ,30.6]
city = list("서울 분산 대구 인천 광주 대전 울산 세종 경기 강원 충북 충남 전북 전남 경북 경남 제주".split(" "))
A = pd.DataFrame({'지역' : city , '자립도' : Zarib })
A.set_index("지역" , inplace =True)
A = A.transpose()
A

set_index ==> 지역 index 로 설정

도시별 df

B = A.transpose()
c = B.iloc[:,0].tolist()
print(c)
means = np.mean(c)
medians = np.median(c)

print("평균 : {}".format(means))
print("중위수 : {}".format(medians))

==> c값 할때 tolist() ==> 정확한 열 설정이후 가능

 

[88.8, 56.6, 51.8, 67.3, 45.4, 57.5, 70.7, 38.8, 71.6, 26.6, 34.2, 36.0, 25.7, 21.7, 28.0, 41.7, 30.6]
평균 : 46.64705882352941
중위수 : 41.7

 

6. 평균 , 평균편차

 

YEAR = [i for i in range(2004, 2014)]
marrage = list(map(int, "308598 314304 330634 343559 327715 309759 326104 329087 327073 322807".split(" ")))
divorsed = list(map(int, "138932 128035 124524 124072 116535 123999 116858 114284 114316 115292".split(" ")))

A = pd.DataFrame([YEAR , marrage , divorsed])
A.index = ['연도' , '혼인 건수' , '이혼 건수']
A = A.transpose()
A.set_index('연도' , inplace=True)
A = A.transpose()
A

혼인,이혼건수 DF

print(marrage)
means = [np.mean(marrage) , np.mean(divorsed)]

# print(a1)
A['평균'] = means
A

평균

print(means[0] - means[1])

평균편차 : 202279.3

 

7. 평균 , 10%-절사평균, 중위수

 

month = ["{0:02d}".format(i) for i in range(1,13)]
average_temp = list(map(float, "-2.1 0.7 6.6 10.3 17.8 22.6 26.3 27.3 21.2 15.4 7.1 1.5".split(" ")))
raine = list(map(float , "28.5 50.4 59.7 75.5 129.0 101.1 302.4 164.0 120.8 52.9 57.5 21.0".split(" ")))

average_temp

==> Formating!!!! == > {0:02d}

A = pd.DataFrame({"구분" : month , "평균 기온(ºC)" : average_temp , "강수량(mm)" : raine})
A.set_index('구분' , inplace = True)
A = A.T
A

==> A.T ==> Transpose() 동일

 

average_temp = sorted(average_temp)
raine = sorted(raine)
x = [average_temp,raine]
# i = int(len(average_temp) *0.1)
# j = int(len(average_temp) - i)
zulsa = []
medians = []
for i in x:
    medians.append(np.median(i))
    k = int(len(i) *0.1)
    j = int(len(i) - k)
    zulsa.append( np.mean(i[k:j]))
A['10%-절사평균'] = zulsa
A['중위수'] = medians

A

==> 절사 평균하는 공식 잘 기억해두자

 

연습문제_7

8. 평균 , 중위수, 최빈값 , 사분위수 , 백분위수

 

A = list(map(float , "2.3 1.3 1.5 2.4 1.5 1.9 1.1 1.7 1.2 1.6 1.1 2.5 2.2 1.4 1.3 1.5 1.8 2.6 2.3 1.8 2.4 2.3 1.2 1.6 1.9 2.8 2.3 2.6 1.3 1.8".split(" ")))
A
means = np.mean(A)
medians = np.median(A)
many = collections.Counter(A).most_common()

i = 0
res = []
while True:
    if many[i][1] == many[0][1] and i != len(many)-1:
        res.append(many[i][0])
        i+=1
    else:
        break
res

print("평균 : {} , 중위수 : {} , 최빈값 : {} ".format(round(means,2), medians , " ".join(map(str, res))))
A = pd.DataFrame(A)

평균 : 1.84 , 중위수 : 1.8 , 최빈값 : 2.3

 

Q1 = A.quantile(.25)
Q3 = A.quantile(.75)
print("Q1 : {} , Q3 : {}".format(round(Q1[0],2) , Q3[0]))

ratio_40 = A.quantile(.4)
print("40-백분위수 : {}".format(ratio_40[0]))

#Q1 =  (25 * len(A)) / 100
#IQR = Q3 - Q1

Q1 : 1.42 , Q3 : 2.3
40-백분위수 : 1.6

728x90
반응형

+ Recent posts