본문 바로가기
[업무 지식]/Python

Python / 코드 핵심 요약

by 에디터 윤슬 2024. 10. 23.
# pandas 라이브러리를 활용한 csv 파일 열기
df = pd.read_csv("폴더명/파일명.csv")

 

# 테이블 확인하기
display(df, df2, df3)

 

# 처음 5줄만 출력하기
df2.head()

 

# 마지막 5줄만 출력하기
df3.tail()

 

# 각 테이블의 행(가로) 길이 파악하기
len(df)

 

# shape: 테이블의 행과 열의 갯수를 반환
df.shape

 

# dtypes: 테이블 내 컬럼타입(문자형, 숫자형, 배열 등) 확인
df.dtypes

 

# columns: 테이블 내 컬럼 확인
df.columns

 

# values: 테이블 내 각 행들을 배열 형태로 확인
df.values

 

# 테이블 기본 구조 확인하기
df.info()

 

# 전체 행 갯수, 평균, 표준편차, 최솟값, 사분위수, 최댓값 확인
df3.describe()

 

# 컬럼별로 결측치(데이터가 없는) 갯수 확인하기
df.isnull().sum()

# 결측치 제거
df.dropna()

 

# 중복 데이터 확인
df.duplicated(subset = ['컬럼1', '컬럼2', '컬럼3'])

# 중복 데이터 제거
df.drop_duplicates(subset = ['컬럼1', '컬럼2', '컬럼3'])

 

# 이상치 처리하는 방법
# IQR 계산
Q1 = df['컬럼1'].quantile(0.25) 
Q3 = df['컬럼1'].quantile(0.75) 
IQR = Q3 - Q1 

# 이상치 기준 설정 
lower_bound = Q1 - 1.5 * IQR 
upper_bound = Q3 + 1.5 * IQR 

# 이상치 제거 
df[(df['컬럼1'] >= lower_bound) & (df['컬럼1'] <= upper_bound)]
# 특정 컬럼 1개 가져오기
1. 속성 사용
  	df.Category
    
2. [] 연산자 사용
	df['Category']
    
3. iloc 사용
	df.iloc[:, 4]
    # ':'은 모든 행을 가져오겠다는 의미, 인덱스 4번 컬럼을 가져온다는 의미

 

# 특정 컬럼 여러개 가져오기

1. [[]] 연산자 사용
	df[['Category', 'Selling Price']]
    
2. iloc 사용
	df.iloc[:, [3, 6]]
    
3. loc 사용
	df.loc['행이름', ['컬럼명1', '컬럼명2']] # 2개 컬럼명 선택
    df.loc[['행이름1', '행이름2'], '컬럼명1'] # 2개 행이름 선택
    df.loc['행이름1', '컬럼명1':] # 컬럼명1부터 끝까지 선택
# 특정 데이터 선택하기
# 행과 열 번호로 특정 데이터 선택
df.iloc[0, 3]

# 이름으로 특정 데이터 선택
df.loc['행이름', '컬럼명']
# 특정 컬럼 버리기
# axis = 0은 인덱스 기준, axis = 1은 컬럼 기준 삭제를 의미
# inplace = True는 원본을 변경하겠다는 의미

df4.drop('Interaction type', axis = 1, inplace = True)

 

# 조건에 부합하는 데이터 가져오기 1
# 조건에 만족하는 행은 정상출력, 아닌 행은 NaN으로 반환

df3.where(df3['Age'] > 30)

 

# 조건에 부합하는 데이터 가져오기 2
# true, false의 개념이 아닌 조건에 부합하는 데이터만 슬라이싱하여 가져오기
# mask 메서드로 불림

mask = ((df2['Age] > 30) % (df2['Gender] == 'Male'))
df2[mask]

 

# 데이터 그룹 - 기준 1개
df.groupby('Gender')['Customer_id'].count()

 

# 데이터 그룹 - 기준 여러개
df.groupby(['Gender', 'location'])['Customer_id'].count()

 

# 데이터 count와 nunique(distinct, 중복제거) 차이
df.groupby('Location')['Age'].count()
df.groupby('Locarion')['Age'].nunique()

 

# 데이터가 가지고 있는 특정 컬럼명을 기준으로 인덱스를 설정하기
data = df.set_index('columns name')

# 불러올 때 인덱스 지정하기
pd.read_csv('./data/file.csv', index_col = 'columns name')

# 불러올 때 0부터 시작
pd.read_csv('./data/file.csv', index_col = 0)

 

# 인덱스 초기화
# reset_index(drop = True)
data.reset_index(drop = True)

 

# 컬럼명 변경하기
data.column = ['name1', 'name2', 'name3', 'name4']

 

# 파일이 깨질 때
pd.read_csv('./data/file.csv', encoding = 'utf-8')
pd.read_csv('./data/file.csv', encoding = 'euc-kr')

 

# 데이터 타입 변경
df['column name1'] = df['column name1'].astype(int)

'[업무 지식] > Python' 카테고리의 다른 글

Python / 데이터 집계  (0) 2024.10.23
python / boolean indexing  (0) 2024.10.23
Python/약수의 합  (0) 2024.10.22
Python/자릿수 더하기  (0) 2024.10.22
[기초] Python  (0) 2024.10.16