[파이썬 pandas]데이터프레임 열 합치기(merge) 이번 포스팅의 목적은 [ic]keyword[/ic] 컬럼에 있는 같은 키워드끼리 합치는 거다. ([ic]df_1[/ic], [ic]df_2[/ic]는 데이터 갯수가 다르다.) 이때 사용할 수 있는 유용한 함수가 바로 merge다. [ic]merge[/ic]는 주로 두 개 데이터프레임을 합칠 때 유용하다. 이 글과 읽으면 좋은글 엑셀(excel) sheet별 데이터 이어 붙이는 방법 사용법 merged_df = pd.merge(df_1, df_2, on='keyword') print(merged_df) 1번째, 2번째 인자 합칠 데이터 프레임을 넣어준다. on 어떤 열을 기준으로 합칠지 지정 결과를 보면 20개 값이 출력 되었다. [ic]df_2[/ic]는 24개인데 이상하다. 나머지 값 4개는 어디로 갔.. 파이썬/pandas 2023. 2. 20. vscode 터미널에서 데이터프레임(dataframe) 예쁘게 출력하는 방법 주피터노트북, 코랩과 달리 VScode에서 데이터프레임을 출력하면 못생긴(?) 결과를 만나게 된다. 이때 tabulate를 이용하면 예쁘게 출력이 가능하다. tabulate 설치 pip install tabulate[widechars] tabulate 예제 from tabulate import tabulate print(tabulate(데이터프레임, headers='keys', tablefmt='fancy_outline')) [ic]headers[/ic], [ic]tablefmt[/ic] 인자 값을 변경하면 입맛에 맞는 커스터마이징 가능하다. 자세한 사항은 공식문서를 참고하자. 파이썬/pandas 2023. 1. 26. [파이썬]텍스트 파일 내용 한번에 수정(pandas) 텍스트 파일을 판다스(pandas)를 이용하여 수정해 보겠다. 예제 목적 빨간 사각형 부분을 다른 경로로 변경하는 것이다. 내용 수정(with pandas) 1) text 파일 읽기 [ic]read_csv[/ic]를 이용하여 [ic].txt[/ic]파일을 읽을 수 있다. import pandas df= pd.read_csv('CupDataCoco/train.txt',names=['path']) print(df) 이때 [ic]names[/ic]인자를 이용하면 원하는 컬럼명을 설정할 수 있다. 2) 내용 변경(replace) 각 행의 값들을 수정해줘야 한다. 이때 for loop보다 더 효율적인 방법이 [ic].apply[/ic]를 이용하는 것이다. df['path'] = df['path'].apply(la.. 파이썬/pandas 2023. 1. 17. [판다스 기초] 특정 열(column) 삭제 하는 방법 아래와 같은 데이터프레임이 있다고 하겠습니다. 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> 여기서 우리는 빨간 사각형 부분의 컬럼을 삭제하고 싶은데요. 본격적으로 시작하기 전 하나의 컬럼부터 삭제하는 법에 대해 알아볼게요. 1) 하나의 컬럼 삭제 만약 2021.07을 삭제하고 싶다면 아래와 같이 적어주면 됩니다. drop 함수 인자인 labels에 삭제하고싶은 컬럼명을 할당해주면 됩니다. 여기서 point는 axis=1로 설정해야된다는 점입니다. 즉 "컬럼 중에서 2021.07을 찾겠다"라고 판다스에게 말해주는 것인데요. 디폴트는 axis=0(인덱스 중 해당 값을 찾겠다)임으로 주의 하시기 바랍니다. 이대로 한번 실행을 해보겠습니다. output: 여전히 값의 변화가 없습니다. 이는 drop메소.. 파이썬/pandas 2022. 8. 23. [판다스 기초] 인덱스(index) 시작 번호 지정 하는 법 아래와 같은 데이터가 있습니다. 년도와 월로 구성된 값이 인덱스로 지정 되어있네요. 여기서는 해당 인덱스를 년도로만 표현하고 싶습니다. 어떻게 해야할까요? 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> 우리에게 익숙한 reset_index()를 사용하면 인덱스가 강제적으로 0부터 시작하는 형태로 변경되어버립니다. 즉 우리가 임의로 데이터를 만들어 직접 주입해줘야 합니다. 위 데이터는 2001~2050으로 구성된 데이터이기 때문에, 아래와 같은 방식으로 range 함수를 이용해 배열을 만들어줍니다. 그 후 해당값을 df.index에 할당 시켜줍니다. output을 확인해보면 정상적으로 값이 변경된걸 알 수 있습니다. output: 파이썬/pandas 2022. 8. 23. [판다스] 엑셀(excel) sheet별 데이터 이어 붙이는 방법 우리가 사용할 엑셀 데이터가 아래와 같이 여러 sheet로 이루어진 데이터라고 해보겠습니다. 어떻게 sheet별 데이터의 값을 불러올 수 있을까요? 그 전에 익숙한 방식으로 해당 엑셀파일을 한번 읽어 보도록 하겠습니다. 보시는것처럼 table 전용 데이터가 아니다 보니, 지저분한 형태로 출력이 됩니다. 실제 사용을 위해선 데이터 정제 우선되어야 겠지만, 이번 포스팅의 주제는 여러 sheet의 값들을 이어 붙히는 것임으로 일단은 불편하더라도 그냥 지나가도록 합시다. 읽어온 데이터를보면 제일 첫번째 sheet인 2006년도의 데이터를 읽어왔는데요. 이는 read_excel 함수가 디폴트로 제일 첫번째 sheet를 읽도록 세팅 되어있기 때문입니다. 그렇다면 다른 년도 sheet를 불러오려면 어떻게 할까요? 1.. 파이썬/pandas 2022. 8. 22. [pandas 기초] 판다스 행 전체 출력(row 생략 없애기) 판다스로 dataframe을 print해보면 아래와 같이 중간값들이 생략 되는 경우가 있습니다. 이는 판다스에서 너무 많은 열들이 나열될 경우 발생되는 컴퓨터 메모리 낭비방지하기 위한것도 있고, 사용자의 편의성을 위한것도 있습니다. 하지만, 생략없이 전체를 보고 싶다면 어떻게 할까요? 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> pd.options.display.max_rows print(pd.options.display.max_rows) output : 60 판다스 기본적으로 최대 몇개의 row를 보여줄지 디폴트값 설정이 되어있습니다. 보시는것처럼 60개 이상일 경우 생략이 되는것이죠. 그렇다면 전체 열을 보고싶다면, 그만큼 max_row를 늘려주면 되는것입니다. 아래와 같이 말이죠. pd.o.. 파이썬/pandas 2022. 4. 7. [판다스 기초] dropna를 통해 결측치가 있는 행|열 제거 방법 데이터를 수집하다보면 다양한 결측치들이 포함되어 우리를 힘들게 할때가 많은데요. 이번 포스팅에서는 dropna를 통해 우리가 원하는 방식으로 결측값을 처리하는 방법에 대해 배워 보도록 하겠습니다. 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> dropna 디폴트 세팅 import pandas as pd import numpy as np test_data = {'상호명' :['상호네', '현정이네', '문영이네', '동엽이네', '우제네'], '사과' : [1000, 900, 800, 1000, 200], '배' : [1100, 800, 700, 500, 2000], '딸기' : [800, np.nan,700,500,1000], '포도' : [1500, 900, np.nan, 800, 900]} d.. 파이썬/pandas 2021. 7. 16. pandas drop을 활용한 데이터프레임 열/행 삭제하는 방법 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> 열(column 삭제하기) import pandas as pd test_data = {'상호명' :['상호네', '현정이네', '문영이네', '동엽이네', '우제네'], '사과' : [1000, 900, 800, 1000, 200], '배' : [1100, 800, 700, 500, 2000], '딸기' : [800, 800,700,500,1000], '포도' : [1500, 900, 1000, 800, 900]} df = pd.DataFrame(test_data) df.set_index('상호명', inplace=True) #### drop 사용 ### df.drop('사과') output : drop 함수 안에 내가 삭제하고 싶은 컬럼명만 넣게되면.. 파이썬/pandas 2021. 7. 16. 이전 1 다음