일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 외부접속허용
- 전처리
- SQL
- 살려줘
- 맵차트
- 태블로
- Tableau
- mysql
- split
- 이전날짜제거
- 오류
- D2E8DA72
- 데이터전처리
- 파이썬
- 태블로퍼블릭
- TabPy
- 에러
- Delete
- 아나콘다
- Def
- vlookup
- putty
- safe mode 해제
- 북마크
- Join
- 정제
- 함수
- trim
- random.uniform
- concat
- Today
- Total
무던히 하다보면 느는
[파이썬/Python] 여러개의 데이터프레임 concat으로 결합 본문
공공데이터 포털이나 다른 여러 홈페이지들의 데이터를 불러들일때
open api를 이용하는 경우가 많다. 거기에 보다 보면 numOfRows나 pageNo가 있다.
그리고 counts 도.
counts는 굳이 말하자면 열의 종류이고
numOfRows는 한 페이지에 나오는 열들의 갯수
pageNo는 페이지 넘버다.
이번에 내가 불러오고자 하는 데이터의 경우 numOfRows가 99개로 제한되어 있었고 (orz)
counts가 7864개가 있었다. 🙄
계산기를 두들겨보니 pageNo은 80개로... 해줘야 한당
아무튼
요로코롬 globals 함수 써서 여러개의 dataframe에 담고 하나의 dataframe으로 concat으로 결합해 줄거다!
(저기 for i in range(0,81) 해줘야 한다. 실수 ㅎㅎ..)
그럼 dataframe0 부터 dataframe79 까지의 .shape은 (99, 20)
dataframe80의 shape은 (43, 20) 으로 나오게 된다.
그리고 이제 concat을 해줄거다.
여기서 고민을 많이 했는데
list를 두개 만들어서 하나는 숫자 0부터 80까지
하나는 ['dataframe'] * 80 으로 해서 dataframe만 80개 있는..
그리구 두 리스트를 zip으로 묶어주는 걸 생각했는데
음 다른 방법을 생각해냈다.
방법은
위와 같은 코드를 쓰면 결과가 저렇게 따옴표가 포함되어 있는 형식으로 출력된다.
그러나! 우리가 사용하고자하는 pd.concat 코드는 pd.concat([df1,df2...]) 이기 때문에
", ".join(pineapple) |
을 통해서 따옴표가 제거되게 만들어준다.
그리고 복사해서 concat에 넣어주고
reset_index(drop=True) 쓰게 되면 원하는 데이터프레임 모습이 나온다 짜잔~~~ 👍
끗
'파이썬' 카테고리의 다른 글
[파이썬/Python] 파이프라인(2) (2) | 2022.07.12 |
---|---|
[파이썬/Python] 파이프라인 (0) | 2022.07.12 |
[파이썬/Python] 리샘플링 (Resampling) (0) | 2022.07.10 |
[파이썬/Python] numpy array와 list 차이점 (0) | 2022.07.10 |
[파이썬/Python] 판다스 빈 칸 제거하기 (전처리) (0) | 2022.06.20 |