편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.07.27

    파이썬에서 리스트 인덱스 범위 오류에 대해 질문 드립니다.


    안녕하세요. 아래와 같은 내용으로 중첩문을 짜다가 고민해봐도 어떻게 해결해야 할지 잘 모르겠어서 글 올립니다.

    밑의 코드에서, 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])
    
  • 프로필 hihi님의 편집
    날짜2020.07.24

    파이썬에서 리스트 인덱스 범위 오류에 대해 질문 드립니다.


    안녕하세요. 아래와 같은 내용으로 중첩문을 짜다가 고민해봐도 어떻게 해결해야 할지 잘 모르겠어서 글 올립니다.

    밑의 코드에서, 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])