안녕하세요. 아래와 같은 내용으로 중첩문을 짜다가 고민해봐도 어떻게 해결해야 할지 잘 모르겠어서 글 올립니다.
밑의 코드에서, service1_s1 일 때, k = 1~12 까지의 값 service1_s2 일 때, k = 1~12 까지의 값 ... service1_s74 일 떄, k = 1~12 까지의 값을 출력하게 만들고 싶습니다.
파이썬을 접한지 얼마 되지 않은 터라 배워본 대로 for문을 중첩하는 식으로 짜봤는데,
IndexError: list index out of range
라는 오류가 발생합니다.
어느 부분을 고치면 해결할 수 있을까요?
i 와 k를 불러오는 과정에서 뭔가 문제가 생긴 것 같은데, 여러번 구글링 했지만 어떤 식으로 고쳐야 할지 감이 안 와 질문 올립니다.
답변 부탁드립니다.
감사합니다.
distortions = []
K = range(1, 12)
for i in range(1, 75):
for k in K:
kmeanModel = KMeans(n_clusters = k).fit(service1_s[i][['data']])
kmeanModel.fit(service1_s[i][['data']])
distortions.append(sum(np.min(cdist(service1_s[i][['data']], kmeanModel.cluster_centers_, 'euclidean'), axis=1)) / service1_s[i].shape[0])