# 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 |