반응형

전체 글 88

[openpyxl] 엑셀 칼럼 (알파벳)이 몇 번째 칼럼인지 알고 싶다면?

엑셀은 칼럼을 번호를 쓰는 게 아니라 알파벳으로 쓰죠? 그래서 때론 칼럼 인덱스를 원하는 경우가 있는데요. 이 때는 get_column_letter나 column_index_from_string 함수를 쓰면 됩니다. 이건 뭐 굳이 엑셀 파일을 불러오거나 할 것도 없구요. 함수 불러온다음에 엑셀에서 200번째 칼럼의 알파벳은 엑셀로 뭐냐? from openpyxl.utils.cell import get_column_letter get_column_letter(200) 이러면 GR인 것을 알 수 있습니다. 반대로 엑셀 칼럼 알파벳이 AAA면 이게 도대체 몇 번째 칼럼인거야라고 묻는다면 from openpyxl.utils.cell import column_index_from_string column_index..

카테고리 없음 2020.05.27

[openpyxl] 파이썬으로 엑셀 셀에 있는 내용 입력 및 파악

파이썬과 엑셀을 연결해주는 강력한 라이브러리 openpyxl에 대해 알아보고자 합니다. 오늘은 기본부터 시작해봅니다. 우선 해당 워킹 폴더를 바꿔주고, 여기서 기존 엑셀 파일이 있으면 읽어줍니다. 여기서는 21대 총선 자료를 한 번 보도록 할까요? (강남구갑) import openpyxl import os 이후에 폴더 변경하고 os.getcwd() os.chdir("/Users/xxx/Downloads/제21대 국회의원선거(재보궐 포함) 투표구별 개표결과/지역구") 그 다음에 load_workbook를 써야 합니다. wb=openpyxl.load_workbook("1서울/개표상황(투표구별)_강남구갑.xlsx") sheet이 하나밖에 없는데, 맨 처음 sheet의 제목을 알아봅니다. ws=wb.worksh..

ggplot 레이블 및 x축, y축 타이틀 조정하기

ggplot으로 하다 보면 각 축 이름 (제목이나 안에 들어간 텍스트)의 크기나 색상, 혹은 모양이 맘에 안 들 때가 있습니다. 이것을 조정하는 방법은 theme()안에 있는 axis.text.x, axis.text.y, axis.title.x, axis.title.y 옵션을 이용한 다음 element_text를 사용하면 편합니다. theme(axis.text.x=element_text(color="...", size="...", angle="...", hjust="...", vjust="...", face="..."), (axis.text.y=element_text(...), (axis.title.x=element_text(...), (axis.title.y=element_text(...)) 그런데 이..

R/R graphics 2020.05.19

[function연습] 두 단어의 앞글자가 같으면 true, 아니면 false

.split 함수를 써서 쪼개고 (여기서는 두 단어만 있다고 가정 예를 들어 fat cat같은) 그 다음에는 리스트 개념. 쪼갠 다음 첫번째 단어랑 (wordlist[0], fat), 두번째 단어를 정하고 (wordlist[1], cat), 그 다음에 첫번째 스펠링, 두번째 스펠링 비교. def same_letter(text): wordlist=text.split() print(wordlist) first=wordlist[0] second=wordlist[1] return first[0]==second[0] 더 간단하게는 아예 첫번째 단어, 첫번째 스펠 한 번에 쭉 적음 wordlist[0][0] def same_letter(text): wordlist=text.split() print(wordlist)..

dummy variable: table+gen

dummy variable을 만드는 법은 당연히 gen을 통한 방식이 많이 사용되지만 한 변수가 각각 다른 팩터 값을 갖고 있다면, 예를 들어 도시라는 칼럼이, 서울, 부산, 대전, 대구 등으로 표시가 되어 있다면, 이를 더미로 변환시켜주는 가장 좋은 방법은 단연 table 칼럼변수명, gen(새로운 변수명)입니다. 저 같은 경우는 미국 주 데이터를 각각 더미로 만들려 했는데, 이 때는 table state, gen(state_new) 이런 식으로 만들곤 합니다. 그러면 state_new1, state_new2, ... 이런 식으로 더미가 생성됩니다.

STATA 2020.05.14

이름이 비슷한 csv 파일을 불러서 통합해서 하나의 데이터프레임을 만들 경우

일을 하다보면 파일 안에 있는 변수는 같은데 파일 이름은 다르지만, 이를 하나로 통합하고 싶은 경우가 있을 겁니다. 예를 들어 파일 이름이 data2000, data2001,... data2020 이렇게 있는데 이를 다 합쳐서 하나로 만들 경우가 있을 수 있죠. 이를 한 번에 불러서 하나의 정돈된 데이터프레임으로 바꿀 수 없을까요? 우선 일단 특정 폴더를 만들어서 관련 csv 파일을 다 몰아 넣는 것이 첫번째 스텝입니다. 이후에 워킹 폴더를 그 폴더로 지정해주시구요 (setwd()). 아래가 가장 흔하게 쓰는 방법입니다. setwd("/Users/abc/Downloads") #이것은 한 예입니다. 폴더에 맞춰 변경해주시면 됩니다. files = list.files(pattern="*.csv") #csv파..

R/R basic 2020.05.08

내가 갖고 있는 데이터의 형태는 데이터프레임인가?

기본적으로 R은 데이터프레임 형태의 데이터를 갖고 할 수 있는 일이 많습니다. 많은 명령문들이 기본적으로 데이터가 데이터프레임이라는 가정에서 시작하는대요. 하지만 데이타가 list, matrix의 형태일 수도 있고 최근에는 data table도 많이 쓰이고 있습니다. 그래서 데이트프레임에서만 먹히는 명령문들이나 라이브러리가 적용이 되지도 않는 경우가 있는데요. 그래서 기본적으로 내 데이터가 데이터프레임의 형태인가를 알고 시작하는 게 중요합니다. 예를 들어 R이 제공하는 mtcars 데이터가 데이터프레임인가를 보기 위해서는 class()는 명령어를 이용합니다. class(mtcars) 그러면 "data.frame"이라는 답을 줍니다. 다시 말해 데이터프레임이라는 거죠. 아니면 아예 데이터프레임인지 아닌지 ..

R/R basic 2020.05.07
반응형