본문 바로가기
IT지식/파이썬으로 데이터분석

[파이썬으로 데이터 분석하기3] 데이터 파일 업로드 방법, 그 외 문제 해결

by 모두의 향연 2021. 11. 27.
728x90
반응형

 

데이터 준비

공공데이터 포털에 들어가서 '국민연금공단_국민연금 가입 사업장 내역'으로 가져왔다.

csv파일이 있으니 다운로드하기

 

공공데이터 포털

https://www.data.go.kr/data/15083277/fileData.do

 

 

국민연금공단_국민연금 가입 사업장 내역_20211118

(국민연금가입수급정보) 법정동단위 지역별, 국민연금 가입 사업장 정보<br/>* 단, 개인사업장 및 2인 이하 법인 사업장 정보 미제공<br/><br/>*사업장 컬럼별 상세설명<br/>○ 자료생성년월 → 자격

www.data.go.kr

 

 

데이터 업로드

1. C:\Users\사용자이름\Python 폴더로 들어간다.

C:\Users\사용자이름\Python

 

2. Python 디렉터리에 data라는 파일명을 만든다.

오른쪽 마우스-새폴더-data로 이름 바꾸기

 

3. 주피터 노트북으로 열고 파일 생성

'python'폴더에 들어가면 'data'라는 파일이 생성되어 있다.

이 폴더에 새로운 New파일을 생성하고 여기에서 실습을 진행한다. 

python폴더에 실습할 파일 새로 생성

 

4. 패키지 불러오기

패키지 불러오기

  • import: 패키지를 불러들이는 명령어
  • 패키지: 다양한 프로그램을 누군가가 미리 만들어 사용할 수 있도록 등록해 놓은 것
  • os패키지: 운영체제의 기능을 사용하여 알 수 있는 정보를 파이썬 안에서 사용할 수 있도록 연결해 주는 프로그램을 담고 있는 패키지, import라는 명령어로 불러서 사용, 주요 패키지는 anaconda설치 시 함께 설치되기 때문에 import 명령어와 사용하고자 하는 패키지 이름만 알면 불러서 사용 가능
  • os.getcwd(): current working directory를 찾아주는 함수, 그래서 결과창에 현재 작업 디렉터리가 나오게 됨.
불러온 패키지를 내 프로그램에서 사용하는 방법은? 패키지.함수() 입력 후 실행
※어떤 패키지가 있고, 어떤 함수가 있는지 잘 알아야 함 → os. + tab키

  • pandas: 데이터 분석에 널리 사용되는 대표적인 패키지 중 하나, 엑셀의 표같이 구성된 데이터를 다루기 쉽게 만들어주는 강력한 패키지
  • as pd: pandas라는 패키지를 pd라는 별칭으로 부르겠다는 의미

 

5. 데이터 불러오기

데이터 변수 이름 =pd.read_csv('데이터가 들어있는 폴더 이름/파일 이름. csv', encoding='해당 인코딩')

아까 공공데이터 포털에서 다운로드한 국민연금 사업장 파일 이름명을 'np_biz_entry'로 바꾸고 하고 업로드해본다.

그럼 다음과 같은 'UnicodeDecodeError' 오류가 발생.

UnicodeDecodeError오류

[오류 나는 분은 여기 참고 → https://feastforall.tistory.com/90]

 

jupyter notebook에서 csv파일 업로드 시 오류

주피터 노트북에서 csv를 업로드할 때 파일이 업로드가 안될 때가 있습니다. 해결방법 따라해보세요. 해결방법 1 ANSI: 윈도에서 기본으로 사용하는 encodong이다. 파이선의 기본 encoding인 'UTF-8'과 맞

feastforall.tistory.com

 

 

6. 데이터 출력하기

뒤에 encoding='ANSI'를 추가하고 데이터를 업로드해본다.

그럼 결과창에 데이터의 일부와 요약 정보가 나타난다.

오류 수정 후 모습

 

스크롤을 쭉 내리면 537502개의 행과 22개의 컬럼으로 구성된 데이터라는걸 확인할 수 있다.

맨 밑에 행과 열이 보임

 

biz_data대신에 print(biz_data)를 친다.

결과를 표시하는 방법은 다르지만 내용은 동일하다.

하지만 그냥 biz_data를 실행했을 때 결과창을 보기가 편하다.

print(biz_data)

 

7. 데이터 null값 확인(isnull() 함수)

데이터.isnull()로 물어보면 → True/False로 대답한다.

isnull(): null값을 확인하는 함수

isnull()함수

 

 

8. 데이터 합계 확인(sum() 함수)

biz_data에서 null값인 컬럼들의 개수를 구한다.

컬럼이름과 빈칸의 개수가 나온다.

sum(): 합계를 계산해 주는 함수

isnull의 합계를 보여준다.

근데, null값을 확인하면 True와 False로만 나왔는데 문자가 어떻게 합계(sum)로 계산될까?

True는 1로 False는 0으로 처리하기 때문에 null의 총 수를 알려주게 된다.

 

 

 

9. csv파일이 아닌 txt 파일로도 데이터를 불러올 수 있다.

https://www.data.go.kr/data/15050424/fileData.do

 

행정안전부_도로명주소 건물DB_일간_20200908

자체적으로 도로명주소 DB를 구축하고 활용하기 위한 전체 도로명주소 자료, 도로명코드, 매칭데이터, 일변동 자료

www.data.go.kr

여기서 txt파일 아무거나 다운로드하고 data폴더에 넣어놓는다.

csv파일의 경우 필드 값들이 컴마로 분리되어 있는데 현재 txt 파일은 '|'으로 분리되어 있어서 sep에 '\|'을 적어준다.

 

txt파일의 구분자

탭으로 구분: sep='\t'

컴마로 구분: sep='\,'

이런 식으로 구분되어 있는걸 sep에 적어주면 된다.

 

 

다음 내용 REVIEW

데이터를 가져왔으니 데이터를 분석하기 위해 데이터를 살펴보는 방법을 알아보겠다.

728x90
반응형