본문 바로가기

Python_파이썬

파이썬, Python Pandas 실무 데이터 분석 총정리 및 요약 정리

Python Pandas 실무 데이터 분석

파이썬 엑셀, CSV 등등 데이터 파일의 데이터 분석하는 법 요약


넘쳐나는 방대한 데이터의 처리를 위하여, 우리는 일일이 하나하나 분석 할 수도 있지만,

많은 데이터를 한번에 파이썬으로 정리하여서 처리한다면,

데이터를 분석하기 쉽게 데이터 처리를 한다면 얼마나 효율적이게 일 처리를 할 수 있을까 ?


그래서 준비한것이 파이썬 Pandas 라이브러리의 사용 및 요약이다 !

데이터 분석 STEP

  1. 데이터를 불러온다.
  2. 불러온 데이터를 확인한다.
  3. 확인한 데이터의 이상은 없는지 체크한다 (null 값 혹은 빈 값들은 없는지)
  4. 원하는 데이터를 필터링 및 정렬을 한다.
  5. 데이터를 저장 혹은 분석한다.

데이터 파일 불러오기

import pandas as pd

# [데이터 불러오기]
rd1 = pd.read_csv('파일명.csv', encoding='utf-8')

데이터 확인하기

import pandas as pd

# [데이터 불러오기]
rd1 = pd.read_csv('파일명.csv', encoding='utf-8')

# [데이터 확인하기]
print(rd1.shape) # 데이터 갯수 확인
print(rd1.info()) # 데이터 정보 확인 (데이터의 타입에 따라 분석의 방법, 시각화의 방법이 달라진다)
print(rd1.index) # 데이터의 행의 범위 알 수 있다
print(rd1.values) # 데이터 프래임을 구성하는 데이터들이 벨류형태로 출력
print(rd1.describe()) # 연속형 데이터의 요약, 통계를 계산해줌
print(rd1.head(5)) # 데이터의 첫부분부터 5번째까지 확인
print(rd1.tail(3)) # 데이터의 끝부분부터 3번째까지 확인
print(rd1.columns) # 데이터의 columns 확인
print(rd1[['그룹번호','그룹내고객수']]) # coloumns 별로 자료 뽑기

데이터 행별 추출하기

import pandas as pd

# [데이터 불러오기]
rd1 = pd.read_csv('파일명.csv', encoding='utf-8')

# [데이터 행별로 추출하기]
print(rd1.iloc[0:10]) # 행별 데이터 추출하기 0번인덱스부터 9번 인덱스까지

데이터 정렬하기

import pandas as pd

# [데이터 불러오기]
rd1 = pd.read_csv('파일명.csv', encoding='utf-8')

# [데이터 정렬하기]
print(rd1.sort_values(by='그룹번호')) # columns이 '그룹번호'에 속해있는 값중에서 오름차순으로 정렬
# 만약 내림차순으로 정렬하고 싶다면, rd1.sort_values(by='그룹번호', ascending=False)

print(rd1.sort_values(by=['그룹번호','그룹내_매수여부'])) # 두개 columns 이상 데이터를 정렬할 때
# 만약 따로 따로 내림차 또는 오름차순으로 정렬하고 싶다면,
# rd1.sort_values(by=['그룹번호','그룹내_매수여부'], ascending=[False, True])

데이터 필터링하기, 데이터 필터하기

import pandas as pd
# [데이터 불러오기]
rd1 = pd.read_csv('파일명.csv', encoding='utf-8')

# [데이터 필터하기]
print(rd1['그룹번호'].value_counts()) # columns이 '그룹번호' 안의 값에서 각 데이터 별 갯수 파악
cond1 = (rd1['그룹번호']=='MAD01') # cond1에 '그룹번호' columns안의 값이 'MAD01'인 데이터를 넣는다(이때 true-false 형태로 데이터 처리)
print(rd1.loc[cond1]) # cond1 을 보여줌

# 조건이 여러개일 경우
print(rd1['그룹내_매수여부'].value_counts())
cond2 = (rd1['그룹내_매수여부']=='Y') # 2번째 조건

# 조건 2개 AND(&)
print(rd1.loc[cond1 & cond2]) # 조건1와 조건 2를 만족할 경우

데이터 추출하기 및 추출한 데이터 파일로 저장하기

import pandas as pd
# [데이터 불러오기]
rd1 = pd.read_csv('파일명.csv', encoding='utf-8')

# [데이터 필터하기]
cond1 = (rd1['그룹번호']=='MAD01') # cond1에 '그룹번호' columns안의 값이 'MAD01'인 데이터를 넣는다(이때 true-false 형태로 데이터 처리)
cond2 = (rd1['그룹내_매수여부']=='Y') # 2번째 조건

# [추출한 데이터 저장하기]
data = rd1.loc[cond1 & cond2] # 조건 1,2를 만족하는 데이터를 data라는 변수에 넣어준다
print(data.shape) # 데이터 모양 확인

data.to_csv('조건만족하는 데이터.csv', encoding='utf-8-sig')