본문 바로가기
반응형

판다스15

[파이썬 판다스] 데이터프레임 특정 조건을 만족하는 특정 열에 접근하기 데이터 분석 및 조작을 위해 널리 사용되는 판다스 라이브러리는 데이터프레임이라는 효율적인 자료구조를 제공합니다. 때로는 특정 조건을 만족하는 데이터에만 관심이 있을 때가 있습니다. 이때, 특정 열에 접근하여 원하는 데이터를 추출하는 방법을 알아봅시다. import pandas as pd # 예시 데이터프레임 생성 data = {'이름': ['Alice', 'Bob', 'Charlie', 'David'], '나이': [25, 30, 22, 35], '성별': ['여', '남', '남', '여']} df = pd.DataFrame(data) print(df) # 나이가 25세 이상인 데이터만 추출 condition = df['나이'] >= 25 filtered_df = df[condition] print(f.. 2024. 1. 10.
[파이썬 판다스] 범주형 문자열 데이터를 숫자형으로 바꾸는 법 (map 메소드) 예시에 사용할 데이터를 먼저 불러옵시다. seaborn 패키지의 타이타닉 데이터를 불러오겠습니다. import seaborn as sns import pandas as pd dt = sns.load_dataset('titanic') sex 열은 값들이 문자열로 되어 있습니다. >>> dt['sex'] 0 male 1 female 2 female 3 female 4 male ... 886 male 887 female 888 female 889 male 890 male Name: sex, Length: 891, dtype: object male을 1로, female을 0으로 바꾸겠습니다. map 메소드를 사용합니다. dt['sex']=dt['sex'].map({'male':1,'female':0}) 결과는 .. 2023. 10. 10.
[파이썬 판다스] 결측치 평균으로 대체하기 예시에 사용할 데이터를 먼저 불러옵시다. seaborn 패키지의 타이타닉 데이터를 불러오겠습니다. import seaborn as sns import pandas as pd dt = sns.load_dataset('titanic') 결측치 확인을 해보면 age가 상당히 많이 비어 있는 것을 알 수 있습니다. >>> dt.isnull().sum() survived 0 pclass 0 sex 0 age 177 sibsp 0 parch 0 fare 0 embarked 2 class 0 who 0 adult_male 0 deck 688 embark_town 2 alive 0 alone 0 dtype: int64 age 열의 결측치를 평균으로 대체하는 방법은 아래와 같습니다. inplace 를 True로 놓으면 .. 2023. 10. 10.
[파이썬 판다스] 분할표 만드는 방법 (합계, 비율) 범주형 데이터를 분할표로 만드는 방법을 알아봅시다. 먼저 사용할 데이터를 불러오겠습니다. seaborn 패키지의 타이타닉 데이터입니다. import seaborn as sns import pandas as pd dt = sns.load_dataset('titanic') 데이터를 일부만 살펴봅시다. >>> dt.iloc[0:5,0:5] survived pclass sex age sibsp 0 0 3 male 22.0 1 1 1 1 female 38.0 1 2 1 3 female 26.0 0 3 1 1 female 35.0 1 4 0 3 male 35.0 0 survived 행과 sex 행을 이용하여 분할표를 만들겠습니다. crosstab 이라는 메소드를 이용합니다. 아래와 같이 사용하면 됩니다. >>> p.. 2023. 10. 9.
[파이썬 판다스] 데이터프레임 여러줄 출력 하는 방법 데이터프레임 여러줄 출력 하는 방법입니다. pd.set_option('display.max_row', None) pd.set_option('display.max_columns', None) 2023. 10. 6.
[파이썬 판다스] 데이터프레임 특정 열을 기준으로 결측치 제거 column1 을 기준으로 결측치를 제거하는 방법입니다. df.dropna(subset = ['column1']) column1 과 2를 기준으로 결측치 제거 df.dropna(subset = ['column1', 'column2', 'column3']) 2023. 9. 15.
[파이썬 판다스] 데이터프레임의 차원 확인하는 방법 (shape) 데이터프레임 df 의 차원을 확인하는 방법은 아래와 같습니다. mydf.shape 첫번째 출력값이 행의 수, 두번째 출력값이 열의 수 입니다. 2023. 9. 14.
[파이썬 판다스] 데이터프레임 열 이름만 먼저 정의하고 내용 추가하기 빈 데이터프레임을 만들겠습니다. columns 파라미터를 입력하여 열이름을 지정합니다. import pandas as pd mydf=pd.DataFrame(columns=['C1','C2']) 첫번째 행을 추가해봅시다. iloc 메소드는 사용이 불가하고, loc 메소드만 사용 가능합니다. >>> mydf.loc[0]=[10,10] >>> mydf C1 C2 0 10 10 2023. 9. 14.
[파이썬 판다스] 데이터프레임 결측치 수 및 위치 확인 열별 결측치 수 확인 데이터프레임 df 의 열별 결측치 수를 확인하는 방법은 아래와 같습니다. df.isnull().sum() 특정 열의 결측치 위치 확인 데이터프레임 df에 A라는 열이 있다고 합시다. 열 A의 결측치 위치를 출력하는 방법은 아래와 같습니다. df.loc[df['A'].isnull(),'A'] 출력 예시는 아래와 같습니다. >>> df.loc[df['A'].isnull(),'A'] 58 NaN 141 NaN 156 NaN 222 NaN 246 NaN 318 NaN 336 NaN Name: A, dtype: float64 2023. 9. 6.
[파이썬 판다스] 데이터프레임 결측치 제거하는 방법 데이터프레임의 결측치를 제거할 때는 dropna 메소드를 사용합니다. df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 다양한 옵션들이 있는데요 많이 사용되는 옵션은 하나입니다. df.dropna(axis=0) axis가 0이면 결측치가 포함된 행을 제거하고, axis 가 1이면 결측치가 포함된 열을 제거합니다. 행 제거가 기본값입니다. 따라서 대부분의 경우 아래와 같이 입력하면 됩니다. df.dropna() 2023. 9. 6.
[파이썬 판다스] 데이터프레임 열이름, 행이름 확인, 행 이름 리셋 df 라는 변수에 데이터프레임이 입력되어 있을 때 행이름과 열이름을 확인하는 방법입니다. 행 이름을 0부터 리셋하는 방법도 함께 알아봅시다. 1) 행 이름 확인 df.index 2) 열 이름 확인 df.columns 3) 행 이름 리셋 df.reset_index(drop=True, inplace=True) drop : 기존 인덱스를 삭제(True), 열로 추가(False) inplace : 원본 객체 변경(True), 원본 객체 유지 (False) 2023. 9. 6.
[파이썬 판다스] 데이터프레임 열의 타입을 factor 로 변형 데이터프레임의 특정 열의 타입을 factor로 바꾸는 방법을 알아봅시다. 특정 열의 타입을 범주형 타입으로 바꾸는 것입니다. 먼저 데이터프레임을 하나 정의합시다. import pandas as pd L1=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]] df=pd.DataFrame(L1,columns=['C1','C2','C3'],index=['R1','R2','R3','R4']) 숫자 인덱스를 사용하여 열을 factor로 바꾸는 방법과 열 이름을 사용하여 바꾸는 방법이 있습니다. astype 메소드를 사용합니다. 1. 숫자 인덱스 사용 세번째 열의 타입을 범 df.iloc[:,2]=df.iloc[:,2].astype('category') 결과는 아래와 같습니다. 3열이 범주형 타입으로 .. 2023. 9. 5.
[파이썬 판다스] 데이터프레임 각 열의 타입 확인 방법 (dtypes, info) 먼저 데이터프레임을 하나 정의합시다. import pandas as pd df=pd.DataFrame({'C1':[1,2,3],'C2':[10,20,30],'C3':[100,200,300]},index=['R1','R2','R3']) 데이터프레임의 타입을 확인하는 메소드는 두가지가 있습니다. dtypes 와 info 입니다. 아래는 dtypes 를 적용한 결과입니다. >>> df.dtypes C1 int64 C2 int64 C3 int64 dtype: object 아래는 info 를 적용한 결과입니다. >>> df.info() Index: 4 entries, R1 to R4 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ .. 2023. 9. 5.
[파이썬 판다스] 데이터프레임 행이름,열이름 출력하기 판다스를 불러오고 데이터프레임을 하나 정의합니다. import pandas as pd df=pd.DataFrame({'C1':[1,2,3],'C2':[10,20,30],'C3':[100,200,300]},index=['R1','R2','R3']) 정의한 데이터프레임은 아래와 같습니다. >>> df1 C1 C2 C3 R1 1 10 100 R2 2 20 200 R3 3 30 300 열 이름과 행이름을 출력하는 방법은 아래와 같습니다. 1. 열 이름 출력 >>> list(df1.columns) ['C1', 'C2', 'C3'] 2. 행 이름 출력 >>> list(df1.index) ['R1', 'R2', 'R3'] 2023. 9. 5.
[파이썬 판다스] 데이터프레임 인덱싱 방법 (인덱스 vs 이름) 먼저 판다스 데이터프레임을 하나 만들어봅시다. import pandas as pd L1=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]] df=pd.DataFrame(L1,columns=['C1','C2','C3'],index=['R1','R2','R3','R4']) 만들어진 데이터프레임은 아래와 같습니다. >>> df C1 C2 C3 R1 1 2 3 R2 4 5 6 R3 7 8 9 R4 10 11 12 데이터프레임 인덱싱을 하는 상황은 아래와 같이 나뉩니다 1) 인덱싱 방법 : 인덱스 or 이름 2) 인덱싱 결과 : 행 or 열 or 복합 인덱싱 방법으로 큰 분류를 나누고, 각 방법 안에서 인덱싱 결과를 행, 열, 복합으로 출력하는 방법을 알아봅시다. 1. 인덱스를 사용하여 인덱싱 il.. 2023. 9. 5.
반응형