아침에는 깃과 깃허브 관련 공부를 했고, 그 공부 내용은 깃과 깃허브 시리즈에 정리해두었다. 그리고 오늘은 소스코드를 이용해서 GUI 방식으로 코드를 푸시해봤다. 시각적으로 보이고, 명령어를 사용하지 않아서 정말 편리했다.
오늘 공부한 내용
- concat : 단순 결합 <join, axis>
- merge : 단순 결합 (좌우 방향) <how, on>
- groupby : 어떤 부분을 기준으로 결합 <by, agg>
- pivot table : 어떤 부분을 기준으로 결합 <values, index, columns, aggfunc, fill_value>
- 파일 호출 및 저장하기.
(1) concat
column 순서 달라도 알아서 처리된다.
column 다른 경우, NaN 들어간다.
+ join 이용해서 원하는 방식으로 결합할 수 있다.
(1-1) 상하 결합 : axis=0 (기본)
(1-2) 좌우 결합 : axis=1
(2) merge : 좌우 결합 시 유용
+ how, on 이용하기. left_on & right_on 도 있으니 이용하기.
merge를 이용하는 경우, 데이터를 보기 불편한 경우가 생긴다. 그런 경우에는 groupby나 pivot table을 이용하자.
(3) groupby : 복잡한 결합
+ by를 이용하여, 기준을 세워주기. 그리고 agg를 이용해서 두 가지 이상의 함수를 표현해주기. 한 가지 함수만 이용하는 경우에는 사용하지 않아도 된다.
agg({"금액":[sum], "개수":[len]}) # 이런 식으로
multi-index인 경우에 reset_index() 이용하기.
🌈하지만, reset_index()가 되지 않는 경우에는 반복문과 join 함수를 이용해서 multi-index를 풀어줄 수 있다. 풀어서 1차원인 새로운 칼럼을 만들고 그 칼럼을 데이터 프레임에 넣어주기.
(4) pivot table : 복잡한 결합
index, values, columns, aggfunc, fill_value 등등을 이용해서 pivot table 제작하기.
(5) 파일 호출 및 저장하기.
encoding="cp949"를 넣어주면 알아서 파일이 한글로 변환되어 호출된다. 가끔 콤마로 분리되지 않는 경우에는 sep을 통해서 변경해주면 된다.
pd.read_csv(data.csv, encoding="cp949")
내가 만든 데이터를 저장하고 싶은 경우에는
df.to_csv("data.csv")
를 이용하자.
head
tail
index_col # 내가 원하는 인덱스를 고를 수 있다.
sep
header
names # 칼럼이 없는 경우에 칼럼을 만들어준다.
usecols # 원하는 칼럼만 이용할 수 있다.
## 등등을 잘 찾아서 이용하면 데이터의 구조를 알 수 있거나 변경할 수 있다.
1. 숫자를 이용해서 데이터를 찍어낸 뒤에, 그 숫자에 맞는 이름을 붙여서 가상의 데이터를 그럴 듯 하게 만들어낼 수 있다.
2. to_numpy() 를 이용해서 ndarray 형태로 column을 만들어 칼럼 순서를 변경할 수도 있다.
오늘도 프론트엔드 공부는 못함. 꼭 저녁 알바 끝나고는 프론트엔드만 공부하는 시간을 확보해야겠다.