파이썬 pandas 모듈을 이용한 data rearrange 질문있습니다.

조회수 2612회
  1. 서울시 공공 데이터에서 교원 1인당 학생 수가 지역구마다 시계열상으로 어떤 변화를 가져오는 지에 대한 분석을 하고자 했습니다. http://data.seoul.go.kr/openinf/linkview.jsp?infId=OA-11997&tMenu=11 -- 자료에 대한 링크입니다.

  2. 이미지 다운받은 데이터의 형식은 다음과 같습니다.

  3. Python에서 pandas 모듈을 이용해서 excel형식의 파일을 로드하고, 이미지

  4. E, H, K, M column만을 df로 재설정하였습니다. 이미지

여기서 길을 잃었습니다.

excel 원자료에 의하면 B5에 등장한 종로구는 B31에 다시 등장해서 '26'을 주기로 살고 있습니다.

제가 새로이 column을 설정해서 종로구, 중구, 동작구,,,,,, 와 같이 구별로 2004년, 2005년, 2006년 등의 데이터를 새로이 배치하고 싶다면 어떻게 해야하나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 컬럼명을 먼저 잘 만들고, read_csv 시에는 header=None을 주고 잘 만들어놓은 컬럼명을 인자로 주어 읽습니다.

    col_names = []
    with open(file_name, 'r', encoding='utf-8') as f:
        for i, line in enumerate(f):
            line = line.strip()
            if i > 3: break
            if i == 0:
                col_names1 = line.split('\t')
            if i == 2:
                for c, n in zip(col_names1, line.split('\t')):
                    if c == n:
                        col_names.append(c)
                    else:
                        col_names.append(c+'-'+n)
    
    
    df = pd.read_csv(file_name, skiprows=3, names=col_names, 
                     header=None, delimiter='\t', thousands=',')
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)