본문 바로가기

환경, 에너지

[EMS] Pandas 기본

Pandas

  • 표 형태의 데이터(정형 데이터)를 분석. 저장
  • DataFrame : 행(row, record)과 열(column, field)로 이루어짐. 2차원 형태 series 의 모음 
  • Series : 1차원 형태의 데이터, 벡터

 

 

1. Pandas 기초와 이해

  • 객체 생성
# 딕셔너리 데이터를 Series 데이터로 생성하기
# key가 인덱스가 된다
dict_data = {'a':1, 'b':2, 'c':3}
sr = pd.Series(dict_data)

# 딕셔너리 데이터를 DataFrame 객체 생성하기
# key가 컬럼명이 된다
dict_data = {'c0':[1,2,3], 'c1':[4,5,6], 'c2':[7,8,9], 'c3':[10,11,12], 'c4':[13,14,15]}
df = pd.DataFrame(dict_data)

 


# 인덱스 변경하기
df.index = ['학생1','학생2','학생3']
print(df)

# 컬럼명 변경하기
df.columns = [ ]

rename( )

 

# 특정 컬럼의 평균 구하기 

df['수학'].mean()
df.mean()['수학']
df.수학.mean()
df.mean().수학
df.mean()[0] # 첫 번째 컬럼이 수학

 

# 중간값 : median . 컬럼 기준임
데이터의 중간값 : 홀수일때 가운데 값, 짝수 : 가운데 값 2개의 평균
평균값을 대표값으로 사용하면 값의 왜곡이 일어날 수 있다. ex)일반인과 재드래곤의 월급 평균..

 

 

  • 행(row) 데이터 조회하기 
    • loc [인덱스명]
    • iloc [인덱스번호]
# 1. 이몽룡의 수학, 영어 점수 조회. Series 조회

df.loc['이몽룡'][['수학','영어']] 
df.loc['이몽룡',['수학','영어']] # loc[행,열] 의 개념


# 2. 이몽룡의 수학, 영어 점수 조회. DataFrame 조회 . 마스킹(행)

df.loc[['이몽룡'],['수학','영어']] 
df.loc[['이몽룡']][['수학','영어']]  # loc 마스킹 리스트(여러개니까)
# 모든 학생(row)의 평균/총점 구하기 : axis 옵션
df.mean(axis=1)
df.sum(axis='columns')

 

 

  • 표준편차 : std() . (평균값 - 현재값) ** 2
  • 분산 : var() . 표준편차의 합의 평균
  • 기술통계 : describe() . 기본적인 수치 데이터 분석 (include='all' => 문자컬럼도 출력)
  • 상관계수 : corr() . 컬럼들 사이의 상관관계를 수치로 표현. 

 

  • 깊은 복사 : df2 = df.copy(), df3 = df[:]
  • 얕은 복사 : df2 = df

 

set_index() 특정 컬럼을 인덱스로 변경
reset_index() 새 인덱스 생성
reindex() 인덱스 추가 (새로운 행 생성), fill_value 옵션
sort_index() 인덱스 기준 정렬 
srot_values(by=) 지정한 컬럼의 값을 기준으로 정렬 
idxmin() / idxmax() 컬럼별 최소/최대값을 가진 인덱스를 반환
value_counts() 값 별 개수를 세어 내림차순 정렬
unique() 중복없이 데이터 조회
shape (행,열) 개수
dtypes 데이터타입 조회

 

 

 

2. 빅데이터 특징

3V

  • Volume(규모) : 데이터의 양이 많다
  • Velocity(속도) : 처리 속도가 빨라야한다
  • Variety(다양성) : 데이터의 형태가 다양함
    • 정형 데이터 : 데이터베이스, csv, excel, 표 데이터
    • 반정형 데이터 : json, xml, html, ...
    • 비정형 데이터 : 동영상, 이미지

 

 

 

'환경, 에너지' 카테고리의 다른 글

[EMS] folium, numpy  (0) 2024.07.09
[EMS] matplotlib, folium  (0) 2024.07.08
[EMS] Python 예외처리, 클래스와 모듈, 정규식  (1) 2024.07.03
[EMS] Python 기초  (0) 2024.07.02
[EMS] ESS 이해와 사례분석  (0) 2024.06.28