- [ Data Analystics/pandas ][Pandas] '.copy()' vs '=': 깊은 복사(Deep Copy) vs 얕은 복사(Shallow copy)2024-01-15 22:52:48안녕하세요 이번 글에서는 pandas 라이브러리의 .copy() 메소드를 사용한 경우와 '=' 대입연산자를 사용한 경우를 비교해보도록 하겠습니다. 먼저 필요한 라이브러리를 불러오도록 하겠습니다. import pandas as pd import seaborn as sns 라이브러리를 불러온 후 seaborn 라이브러리의 load_dataset 메소드를 사용하여 'diamonds' 데이터셋을 불러온 후 출력해보겠습니다. 출력 결과 53940개의 행과 10개의 열로 구성된 데이터임을 알 수 있습니다. 1. copy() DataFrame이나 Series의 깊은 복사(deep copy)를 생성하는 데 사용합니다. 깊은 복사를 하게 되면, 원본 객체의 데이터와 구조를 완벽하게 복제하여 새로운 객체를 만들게 되며 이..
- [ Data Analystics/pandas ][Pandas] groupby() 메소드를 사용하여 데이터 그룹화하기2024-01-09 13:54:08안녕하세요 이번 글에서는 pandas library의 groupby() 메소드를 사용해 데이터들을 그룹화하는 방법을 알아보겠습니다. groupby? SQL의 GROUP BY와 동일한 로직 Groupby 기준칼럼 : 패턴이 있는 문자열 => 그룹화 Groupby 대상칼럼 : 수치 데이터 - 필요한 함수 : 집계함수 (합, 평균, 표준편차, 최대, 최소 등) groupby 메소드는 주로 집계함수(aggregate Function)와 함께 사용합니다 사용법 : df.groupby('기준칼럼')['대상칼럼'].agg(['집계함수']) groupby 메소드를 사용하는 이유? 데이터셋을 특정 기준에 따라 그룹화하여, 각 그룹에 대해 통계를 계산하고 싶을 때 사용합니다. 예를 들어, 여러 장르의 책들이 있을 때 각 ..
- [ Data Analystics/pandas ][Pandas] merge() 메소드를 사용하여 데이터 병합하기2024-01-08 17:47:07안녕하세요 이번 글에서는 merge() 메소드를 사용하여 데이터를 병합하는 방법에 대해서 알아보겠습니다. 먼저 pandas 라이브러리를 불러와줍니다. import pandas as pd 라이브러리를 불러온 후 DataFrame 객체 두 개를 생성합니다. 이후 merge() 메소드를 사용하여 df_A_B와 df_C_D를 병합해줍니다. join() 메소드를 사용하여 병합을 하려고 하니, 아래와 같은 에러가 발생했습니다. 이유는 칼럼이 중복되었기 때문입니다 ! join() 메소드를 사용하여 데이터를 병합하고 싶은 경우에는 병합하고자 하는 데이터에서 칼럼이 중복되지 않도록 하여야 합니다. ValueError: columns overlap but no suffix specified: Index(['판매월'], d..
- [ Data Analystics/pandas ][Pandas] join() 메소드를 사용하여 데이터 통합하기2024-01-08 10:56:29안녕하세요 이번 글에서는 join() 메소드를 사용하여 데이터를 통합하는 방법에 대해서 알아보겠습니다. 먼저 pandas 라이브러리를 불러옵니다. import pandas as pd 이후 2개의 DataFrame 객체를 생성한 후 join 메소드를 통해 데이터를 통합합니다. concat() 메소드와의 다른 점은 join() 메소드는 "가로" 방향으로 데이터를 통합합니다. 아래 코드는 concat() 코드의 실행 예시입니다. 인덱스 라벨을 지정하여 DataFrame 객체를 생성하고 데이터를 통합할 수도 있습니다 데이터를 통합할 때는 주의하실 점이 있습니다. 아래와 같이 칼럼이 일치하지 않는 경우 데이터가 NaN(결측치)로 바뀌는 문제가 발생할 수 있으므로 인덱스가 일치하는지 체크한 후 데이터 통합을 하면 ..
- [ Data Analystics/pandas ][Pandas] concat() 메소드를 사용하여 데이터 통합하기2024-01-08 10:28:07안녕하세요 이번 글에서는 pandas library를 사용하여 데이터 통합하는 방법을 알아보겠습니다. DB(데이터베이스)에 저장되어있는 2개 이상의 테이블을 조인하여 데이터를 통합하는 것과 유사하다고 이해해주시면 됩니다 ! 먼저 필요한 라이브러리를 불러와줍니다 pandas 라이브러리를 사용하므로 pandas 라이브러리를 import 해주도록 하겠습니다. import pandas as pd 이후 아래와 같이 임의의 데이터프레임 객체 2개를 생성합니다 append() 메소드를 사용하면 df1에 df2의 DataFrame 객체를 병합할 수 있다고 나와있어서 코드를 실행했는데 아래와 같은 에러가 발생했습니다 !.. 이때는 당황하지 않고 공식문서로 가주도록 합니다 공식 문서에 나와있는 내용을 보니 pandas 1..
- [ Data Analystics/pandas ][Pandas] manipulate textual data(문자형 데이터 다루기)2024-01-06 11:18:50안녕하세요 이번 글에서는 pandas library를 활용하여 문자형 데이터를 다루는 것을 알아보겠습니다 먼저 필요한 라이브러리를 불러옵니다. pandas 라이브러리만 사용할 것이므로 import pandas as pd 코드를 상단에 작성 후 컴파일 해줍니다. 이후 pandas 라이브러리의 read_csv 메소드를 사용하여 데이터셋을 불러옵니다. 데이터셋을 URL 혹은 웹주소로 가져올 수 있는데요, 아래와 같이 "" 안에 URL or 웹 주소를 작성해주신 후 컴파일 해주시면 됩니다 이후, 불러온 titanic 데이터를 출력하여 데이터가 잘 불러와졌는지 확인합니다 .str.lower() 메소드 Series.str.lower() 메소드는 특정 칼럼의 데이터 값을 소문자로 바꿉니다 .str.upper() 메소..
- [ Data Analystics/pandas ][Pandas] File Handling2024-01-05 17:46:55이번 글에서는 pandas 라이브러리의 File Handling에 대해서 다뤄보겠습니다. 파일 불러오기 Excel 파일 불러오기 가장 많이 사용하는 방법 Excel 파일 → 데이터프레임: pandas.read_excel(”파일 경로(이름)”) import pandas as pd # read_excel() 함수로 데이터프레임 변환 # 파일 경로(이름)을 string(문자열)로 받아들임 df1 = pd.read_excel('./남북한발전전력량.xlsx') # header=0 (default 옵션) df2 = pd.read_excel('./남북한발전전력량.xlsx', header=None) # header = None 옵션 # 데이터프레임 출력 print(df1) print('\n') print(df2) cs..
- [ Data Analystics/pandas ][Pandas] library DataFrame .loc condition(조건문)2024-01-05 00:58:07이번 글에서는 pandas 라이브러리의 DataFrame 객체의 .loc attrribute의 조건문을 처리하는 방법을 알아보겠습니다. 필요한 라이브러리 불러오기 seaborn 라이브러리 : dataset을 불러옵니다 pandas 라이브러리 : data를 Series(1차원 데이터), 혹은 DataFrame(2차원 데이터 이상)으로 핸들링합니다 저는 타이타닉 데이터를 불러왔는데요, 다양한 데이터를 불러올 수 있는데 불러오는 방법은 seaborn 라이브러리를 코드 상단에 import 하여 불러온 후 load_dataset('불러오고 싶은 데이터셋') 메소드를 사용하면 됩니다 :) 타이타닉 데이터셋의 경우 891개의 row(행)와 15개의 column(열)으로 구성된 것을 알 수 있습니다 .shape을 사용..