Pandas cheatsheet

Rainy Night for Sapientia·2023년 6월 10일
1

자꾸 잊어버리는 통에 자주 사용되는 판다스 명령어들을 정리하였습니다.

1. Loading

1.1. CSV 임포트 (load_csv)

url = "*"
df = pd.load_csv(url)

2. Exploration

2.1. 데이터 출력 (head, tail, sample)

데이터의 일부만 출력

df.head()
df.tail()
df.sample()

2.2. 통계량 일괄 출력 (describe)

데이터에 대한 통계량 일괄 출력

df.describe()

2.3. 범주별 카운트 (values_count)

범주형 데이터의 범주별 수량 출력

df['Class'].values_count()

2.4. 통계량 출력 (sum, mean, median, var, std, count)

특정 컬럼(series) 값들의 통계량 출력

df['Class'].sum()
df['Class'].mean()
df['Class'].median()

2.5. 고윳값 (unique, nunique)

컬럼 내 고윳값 확인(unique) 및 고윳값의 개수 확인(nunique)

df['Class'].unique()
df['Class'].nunique()

3. Grouping

3.1. 그룹별 단순 통계량 (groupby)

df.groupby('Class').mean()
df.groupby('Class').median()
df.groupby('Class').count()

3.2. 그룹별 다중 통계량 (groupby-agg)

df.groupby('Class').agg(['count','mean'])

3.3. 그룹핑 후 특정 컬럼에 대한 통계량

df.groupby('Name')['Salary'].mean()
df.groupby('Name')['Salary'].var()

3.4. 그룹핑 후 데이터들을 모아서 하나의 행으로 만들기

# comma 로 구분
grouped_df = df.groupby('Name')['Age'].apply(lambda x: ', '.join(map(str, x)))

4. Dataframe manipulation

4.1. 데이터프레임 생성 (DataFrame)

4.1.1. 딕셔너리형

df_dict = {
    "name" : ["k", "g", "h"],
    "age" : [10, 20, 30],
    "sex" : ['F', 'M', 'M']
}

df = pd.DataFrame(df_dict)

4.1.2. 시리즈형

series는 인덱스만 존재하므로 columns은 따로 입력해줘야 한다.

pd.DataFrame(df.dtypes, columns=["dtype"])

4.2. 인덱스 초기화 (reset_index)

# 인덱스 초기화 후 기존 인덱스는 신규 컬럼으로
df.reset_index()

# 인덱스 초기화 후 기존 인덱스는 제거
df.reset_index(drop=True)

4.3. 행, 열 삭제 (drop)

# 행 삭제 (0번, 3번 인덱스)
df_dropped = df.drop(labels=[0, 3], axis=0)

# 열 삭제 (class 피처)
df_dropped = df.drop(['Class'], axis=1)

4.4. 컬럼 변경 (set_axis)

# 1행의 값들을 컬럼값으로 변경
df = df.set_axis(df.iloc[0], axis=1)

# 기존 1행은 삭제
df = df.drop(labels=0, axis=0)

4.5. 컬럼명 변경 (rename)

original_col = ["A", "B", "C"]
converted_col = ["D", "E", "F"]

dict_for_changes = dict(zip(original_col, converted_col))

df = df.rename(columns = dict_for_changes)

4.6. 인덱스 변경 (set_index)

# 이름을 인덱스로
df_indexed = df.set_index('Name')

5. Dataframe Combining Method

5.1. 특정 컬럼 기준으로 합치기 (merge)

Merge의 형태에는 다음 4가지가 존재
1. inner
2. right (right-outer)
3. left (left-outer)
4. full (full-outer)
merge는 합칠 컬럼을 on을 통해 지정하는 가장 기본적인 조인의 형태

# Merge
df1 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['Alice', 'Bob', 'Charlie'],
                    'Age': [25, 30, 35]})

df2 = pd.DataFrame({'ID': [2, 3, 4],
                    'Salary': [5000, 6000, 7000]})

result = pd.merge(df1, df2, on='ID', how='inner')

6. Other tricks

6.1. 정렬 (sorted)

특정 컬럼 기반으로 정렬

sorted_df = df.sort_values('Age')
print(sorted_df)

6.2. 데이터타입 확인하기 (dtypes)

리턴 값은 series의 형태입니다.

df.dtypes

6.3. 넘파이 어레이로 변경하기 (values)

데이터프레임이나 시리즈를 넘파이 어레이로 변경하려면 values를 이용한다.
index와 columns값은 소실된다.

df.values
df['Class'].values
profile
Artificial Intelligence study note

0개의 댓글