전체 글 76

[파이썬] for 문으로 년월일 출력해보기(다중 for문), range() 로 숫자 리스트 만들기

1부터 100까지 숫자를 리스트 형태로 만들고 싶은 경우 list=[1,2,3 ...] 이런식으로 일일히 입력하지 않고 range 함수를 통해서 숫자 리스트를 만들 수 있다. 1부터 10까지 숫자 리스트를 만들려고 하는 경우는 range(1,11)라고 적으면 된다. *파이썬에서는 범위의 마지막 숫자보다 하나 더 큰 값을 지정해야 해당 값이 포함된다. 해당 리스트를 확인하고 싶을 경우는, 아래처럼 range를 list 안에 넣은 형태로 출력해야 한다. 이제 for 문을 이용해서 년월일을 출력해 보자. 년도(years)는 2020년부터 2022년, -> range(2020,2023) 월(months)은 1월부터 12월, -> range(1,13) 일(days)은 1일부터 31로 해보자. -> range(1,..

[파이썬] 파일 읽을때 인코딩 에러 'cp949' codec can't decode byte 0x80 in position 7: illegal multibyte sequence

파이썬에서 txt, csv 등 읽어들이려고 할 때 아래와 같은 에러가 발생했다. 'cp949' codec can't decode byte 0x80 in position 7: illegal multibyte sequence 먼저번의 이 에러와 마찬가지로 한글 인코딩 과정에서 발생한 에러로 보인다. https://ryuhyun.tistory.com/74 [파이썬] 판다스 csv 불러올때 인코딩 에러('utf-8' codec can't decode ) csv 파일을 파이썬 판다스로 불러오려고 아래와 같이 입력하였다. df=pd.read_csv('경로/파일명.csv') df 그랬더니 아래와 같이 에러 메시지가 출력되었다. UnicodeDecodeError: 'utf-8' codec can't decode byt..

[엑셀] 내림 함수 ROUNDDOWN으로 나이를 연령대로 표현하기

아래 글에서 출생년도 정보로 나이를 계산하는 방법을 소개했는데 https://ryuhyun.tistory.com/80 [엑셀] DATEDIF 로 두 날짜의 차이(년,월,일) 구하기, 생년월일로 나이 계산하기 아래 글에서는 단순 일수 차이는 셀 빼기로 구하는 방법을 소개했다. https://ryuhyun.tistory.com/54 [엑셀] 날짜 소요일수 구하기, 일 수 계산, 엑셀 날짜 빼기 두 날짜 간의 소요일수를 구하려면, 그 ryuhyun.tistory.com 나이를 연령대로 변환하기 위해서는 '내림' 이 필요하다. 19살이면 10대, 28살이면 20대 이런 식으로 표현되어야 하므로 내림을 활용한다. 엑셀에서는 ROUNDDOWN 함수로 내림 할 수 있다. * 올림은 ROUNDUP, 반올림은 ROUND..

도구들/엑셀 2022.07.06

[엑셀] DATEDIF 로 두 날짜의 차이(년,월,일) 구하기, 생년월일로 나이 계산하기

아래 글에서는 단순 일수 차이는 셀 빼기로 구하는 방법을 소개했다. https://ryuhyun.tistory.com/54 [엑셀] 날짜 소요일수 구하기, 일 수 계산, 엑셀 날짜 빼기 두 날짜 간의 소요일수를 구하려면, 그 두 날짜 셀이 전부 년월일 형태 '날짜' 형식을 갖추고 있어야 한다. 날짜 형식의 셀로 변환하는 함수는 DATE로 소개했다. DATE(년,월,일) 값을 입력 ryuhyun.tistory.com 출생년도를 알 경우, 나이로 일괄로 변환하고자 할 경우에는 두 날짜의 차이를 구하는 DATEDIF 함수를 활용할 수 있다. DATEDIF 함수의 인수는 다음 3가지다. DATEDIF(시작일, 종료일, 표현단위(년, 월, 일)) - 시작일, 종료일은 yyyy-mm-dd 의 입력 형식을 가지며 -..

도구들/엑셀 2022.07.05

[엑셀] VLOOKUP 함수로 일치하는 정보 매칭하기(행정동 코드 예시)

행정동으로 이루어진 원본 자료에서, 행정동 코드를 매칭시키려고 한다. 아래의 예시는 인천시의 행정동이다. 작전1동 작전서운동 간석4동 간석2동 이 행정동들에 맞는 행정코드를 매칭하려고 한다. 행정구역 코드는 통계청에서 제공하고 있고, 구글에 검색하면 쉽게 다운로드 할 수 있다. 다운로드 받은 파일을 열어보면 지역별 행정구역 코드를 알 수 있다. 행정구역은 계속해서 변경되므로 매칭하려는 파일의 시기를 정확히 해야 한다. 이제 VLOOKUP을 활용해서 행정동에 코드를 매칭시켜보자. 1. 매칭할 셀은 '행정동' 이고, 2. 매칭할 자료는 행정동과 행정구역 코드가 있는 정보이며, 3. 자료에서 가져오려고 하는 셀은 행정구역 코드이고, 4. 정확히 일치하는 것을 가져오려고 한다. 위의 4가지가 VLOOKUP 함수..

도구들/엑셀 2022.06.23

[엑셀] 출생년도 정보로 연령대별 인원 집계하기(COUNTIFS 함수)

어떤 명단의 출생년도 정보가 있을 때, 해당 명단의 연령대별 인원을 알고싶을 경우에는 엑셀의 COUNTIFS 를 활용한다. 연령대를 특정하려면, 출생년도의 숫자가 크고 작음을 조건으로 걸면 된다. 이전에 COUNTIF 함수로 특정 조건을 만족하는 셀의 개수를 집계한 적 있는데, 연령대는 2개의 조건을 걸어야 하므로 COUNTIFS 함수를 활용한다. https://ryuhyun.tistory.com/25?category=1035446 [엑셀] 특정 조건을 만족하는 셀의 수 자동 집계하기(COUNTIF) COUNT 함수는 범위 내 셀의 개수를 세는 함수이고, 특정 조건을 만족하는 셀의 개수를 세는 엑셀 함수로는 COUNTIF 가 있다. 기본적으로 집계하고자 하는 범위와 집계 조건을 입력받는다. 예시로 아 r..

도구들/엑셀 2022.06.22

[파이썬] 텍스트(txt) 파일 내 특정 문자 바꾸고 csv로 저장하기(.replace())

행정구역 shp 다운로드 사이트로 소개한 적 있는 통계청 SGIS 에서 제공하는 집계구별 통계 파일을 다뤄볼 것이다. https://ryuhyun.tistory.com/43 [행정구역 경계] 행정동 shp 다운로드 방법(통계청 SGIS) 행정구역 경계는 통계청에서 매년 발표하고 있다. 신청해서 다운로드 가능하다. 통계청 SGIS 홈페이지(sgis.kostat.go.kr) 에 방문해 보자. https://sgis.kostat.go.kr/contents/shortcut/shortcut_05.jsp 자료제.. ryuhyun.tistory.com SGIS에서는 행정구역 경계 뿐 아니라 집계구경계와 집계구경계 기준의 통계파일도 제공한다. 인구총조사 결과를 집계구 번호에 맞게 제공하고 있는데, 원본 데이터는 txt..

[파이썬] 파이썬 연결자 콤마(,)와 더하기(플러스)(+)의 차이

파이썬 코드를 작성하다 보면, 콤마와 +가 각각 다른 상황에 쓰인다. 정확한 차이를 이해하기 위해 정리해 보려고 한다. 위의 예시에서 보면 a, b 문자열을 콤마로 연결했을 때는 띄어쓰기 되지만, 플러스로 연결했을 때는 붙여서 출력된다. 1, 2 를 콤마로 연결하면 1, 2 각자의 값이 출력되지만, 플러스로 연결하면 합산하여 출력된다. 즉, 콤마로 연결한 값들은, 각 값들 개별로 전달된다. 플러스로 연결한 값들은, 합산하여 하나의 값으로 전달된다. 문자(str)과 숫자(int) 를 혼합하여 연결해 보자. '올해는 2022년 입니다' 문장을 아래처럼 나눠서 연결하려고 한다. '올해는', '년 입니다' 는 문자(str), 2022 는 숫자(int) 이다. 콤마로 연결한 경우 각 값이 개별 값으로 전달되어 출..

[엑셀] 번호 하이픈(-) 삭제시,찾기 바꾸기 할때 0 지워짐(SUBSTITUTE 함수 활용)

아래처럼 중간에 하이픈이 있는 번호 정보에서 하이픈을 찾기 바꾸기로 바로 바꾸려고 하는 경우, 텍스트로 저장된 숫자가 아니라 숫자로 변환된다. 찾기 바꾸기에서 셀 내용을 바꾸면, 자동으로 숫자 유형의 셀로 인식된다. 이럴땐 엑셀 substitute 함수를 활용할 수 있다. 변환할 셀 선택하고 변환할 문자들을 "" 따옴표 안에 입력하면 된다. SUBSTITUTE(변환하고 싶은 셀,"변환하고 싶은 문자","변환할 문자") 변환하고 싶은 문자는 하이픈이므로 "-", 변환할 문자는 그냥 아무것도 없게 하고 싶으므로 "" 로 입력. 위와 같이 하이픈이 성공적으로 제거되었다. 함수식이 지워진 결과값만을 다른 셀에 복사 하고 싶으면 붙여넣어진 셀이 선택된 상태에서 우클릭, '값 붙여넣기' 에서 값만 붙여넣으면 된다.

도구들/엑셀 2022.05.23

[파이썬] 판다스 csv 불러올때 인코딩 에러('utf-8' codec can't decode )

csv 파일을 파이썬 판다스로 불러오려고 아래와 같이 입력하였다. df=pd.read_csv('경로/파일명.csv') df 그랬더니 아래와 같이 에러 메시지가 출력되었다. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 48: invalid start byte utf-8 관련인 것으로 보아 인코딩 문제인 것으로 보인다. 다른 한글 인코딩 방식인 'cp949', 'euc-kr' 등 인코딩 방식을 지정해보자. 나는 'cp949' 를 선택했다. df=pd.read_csv('경로/파일명.csv',encoding='CP949') df 한글 인코딩 옵션 추가 후, 에러 없이 정상적으로 출력되는 것을 확인했다.

반응형