본문 바로가기
728x90

데이터프레임13

python, 데이터프레임 - 데이터프레임 합치기(concat, reset_index()는 거들뿐) 데이터 프레임을 합쳐야 한다면, concat() 명령이 준비되어 있다. merge(), join() 명령은 다음에... df1과 df2 라는 데이터프레임이 있고, 2개를 결합해서 df라는 데이터프레임을 만드는 상황을 가정해 보자 아래와 같이 concat()명령을 수행하면 결합된 형태의 df를 얻을 수 있다. 인덱스가 0-1-2-0-1 인 것이 싫다면, 아래처럼 인덱스를 다시 설정 할 수 있다. 혹은 ignore_index=True 라는 옵션을 주어도 같은 결과를 얻는다. 그런데 말입니다.... 아래와 같은 df1과 df2에 대해서 concat()을 수행하면 어떻게 될까? 아래처럼 서로다른 컬럼명이 구분되어 원하는 형태와 다른 모양이 얻어지므로 알아둡시다. 그렇다면! 컬럼명이 같더라도 아래처럼 가로방향으로.. 2023. 6. 24.
python, 데이터프레임 - 헤더, 인덱스 제거하고 파일 저장 데이터프레임 작업이 되었으나, 인덱스나 컬럼명이 필요하지 않을때가 있는데, 저장할때 옵션을 주는 방법이 있다. to_excel(), to_csv() 모두 사용가능하다 다음과 같은 df 라는 데이터프레임이 있다면, 아래 같이 index=False 혹은 header=False 를 사용하면, 아래와 같은 결과를 얻을 수 있다. b0:인덱스제거 b1:컬럼명 제거 b2:인덱스제거, 컬럼명제거 순서번호 정도 밖에는 의미가 없는 인덱스를 제거할때 좋을 듯 하다. 2023. 6. 22.
python, csv - 한글깨짐 csv 파일이 xlsx 파일보다 데이터프레임 사용에 훨~씬 효과적인 것을 알게되었는데, csv 사용시 한글사용시 원활하지 않은 부분있었다. df라는 데이터프레임의 내용이 아래와 같을때 csv저장하면, 엑셀에서보면 아래처럼 한글이 확인되지 않는 현상 그런데 메모장에서는 잘 보임? 찾아보니, 그런 현상 해결 방법이 역시 존재하더라는,,,ㅎ 한글체계에 관한 깊은 이해는 어렵고, 해결방법에 집중해서 살펴보자. 위의 코드를 실행하면 아래와 같은 결과를 확인할 수 있다. utf-8-sig 혹은 cp949 로 encoding 설정해주어야, 제대로된 값이 보여진다.. 2023. 6. 22.
python, 데이터프레임() - 컬럼명 변경 컬럼명 변경하고 싶다? 예를 들면 아래와 같은 stock 이라는 데이터프레임이 있는데,, 컬럼명 바꾸고 싶다 상황을 가정해 본다. 먼저, 아래 처럼 컬럼명을 재지정 할 수 있다. 또한! 원하는 컬럼만 골라서도 할 수 있으니,, 바로바로 이렇게도 가능하다. 참고하세요~ 2023. 6. 19.
python, 데이터프레임() - 특정조건의 행 추출(그리고 열의 합) 특정조건의 행을 갖는 행을 추출하고 싶다. 이전 글에서 행을 삭제하는 예를 보였는데, https://nothing-else-matters.tistory.com/30 python, 데이터프레임(2) - 특정조건의 행 삭제 데이터를 불러오고, 특정조건의 행을 삭제해야 할 경우가 있다. 결측치가 있다던가, 전혀 엉뚱한 값이 들어 있다던가, 특정조건으로 필터아웃 해야한다던가...여러이유로. 방법은 여러가지가 있 nothing-else-matters.tistory.com 반대방향의 느낌으로 특정조건의 행을 추출하는 것을 해보자. 아래와 같은 데이터가 있다면(KRX금현물3.xlsx) 소스코드보자. 2행 : 데이터를 읽고, 3행 : df 중에서 '거래량'>=5000을 만족하는 행을 df2로 넣는다 4행 : df2 출.. 2022. 7. 30.
python, 데이터프레임() - 열 추출 데이터프레임 사용하다보면, 사용에 필요한 열만 싹~ 모아서 정리한번 하고 싶을때가 있는데,,, 필요한 열만 추출하는 방법을 알아보자. 금현물 데이터를 사용하겠다. 파일에서 데이터를 읽으면, 일자/종가/거래량/거래대금 이라는 열이 있는데, 이중에서 종가/거래량만을 추출하는 것을 해보자. 아마도 방법은 몇가지 있을 텐데, 내가 익숙한 방법을 소개한다. 코드 보자. concat이라면 명령을 사용하고 있다. 사실 열을 합친다는 의미인건데, 그렇게 합쳐서 새로운 df2를 만들고 있다. axis=1 이라는 옵션이 열에 대한 처리를 수행하라 라는 의미 되시겠다. df2=pd.concat~~~ 이 아니고 df=pd.concat~~~ 이라고 했다면, df는 종가/거래량을 갖는 데이터프레임으로 변경된다. 2022. 7. 25.
728x90