데마_2주차 프로세스

lakebear·2023년 4월 1일
0

pandas데이터 탐색

열이름1의 값이 1이면서, 열이름2의 값이 30보다 큰 데이터를 새이름으로 추출함
상위 N행 살펴보기

.head() 함수는 불러온 데이터의 상위 5개의 행을 출력합니다. 비슷하게 .tail()의 경우 하위 5개의 행을 출력합니다. 괄호 () 안에 원하는 숫자를 넣으면 그 숫자만큼 행을 출력합니다.

df.head()

(행, 열) 크기를 확인하기

df.shape

공백 제거
replace() 사용 - 모든 공백 제거
strip(), lstrip(), rstrip() 사용 - 양쪽, 왼쪽, 오른쪽 공백 제거
re.sub() 사용 - 정규표현식 사용으로 원하는대로 공백 제거

  1. iloc(), loc() 공통점

df.iloc["행", "열"]
df.loc["행", "열"]

을 통해 데이터에 접근합니다. (열=컬럼)

  1. iloc(), loc() 차이점

df.iloc()는 ["행", "열"]을 Index (숫자)을 사용하며,
df.loc()는 ["행", "열"]을 Label (글자)를 사용합니다.

  1. 예시
    3-1. 기본
    df.iloc[0, 2]: df 데이터프레임의 0행, 2열의 데이터를 가져오겠다. (2열은 3번째 컬럼을 의미합니다.)
    df.loc[0, "column1"]: df 데이터프레임의 0행, column1 컬럼의 데이터를 가져오겠다.

슬라이싱

  • 데이터프레임.iloc[시작 행 인덱스: 끝 행 인덱스 + 1 , 시작 열 인덱스: 끝 열 인덱스 + 1]

astype 메서드는 열의 요소의 dtype을 변경하는함수 입니다.

개의 열만 type 변경
열의 dtype 변경 시 딕셔너리 형태로 {'열이름' : '변경 dtype'}와 같이 입력해줍니다.

df1 = df.astype({'col1':'int32'})
print(df1.dtypes)

col1 int32
col2 object
col3 float64
col4 bool
dtype: object
int64 였던 col1의 dtype이 int32로 변경된 것을 확인할 수 있습니다.

다수의 열의 dtype 변경
다수의 열의 변경도 딕셔너리 형식을 이용하면 됩니다.

df1 = df.astype({'col1':'int32', 'col3':'int64'})
print(df1.dtypes)

col1 int32
col2 object
col3 int64
col4 bool
dtype: object
int64 였던 col1의 dtype이 int32로 변경되고 float64였던 col3의 dtype의 값이 int64로 변경된 것을 확인할 수 있습니다.

모든 열의 dtype 변경
모든열의 변경을 하고자하는 경우 dtype 인수에 원하는 dtype을 입력해주는 것만으로도 가능합니다.

df1= df.astype(dtype='int64')
print(df1.dtypes)

ValueError: invalid literal for int() with base 10: 'one'
pd.get_dummies()
문자를 숫자로 바꾸어 주는 방법 중 하나로 One-Hot Encoding이 있다.

가변수(dummy variable)로 만들어주는 것인데, 이는 0과 1로 이루어진 열을 나타낸다.

1은 있다, 0은 없다
[출처][pandas] pd.get_dummies() :: One-Hot Encoding/원핫인코딩|작성자 밎이

개요

median메서드는 행/열의 값들의 중앙값을 구하는 메서드입니다.
만약 수의 갯수가 짝수이면 중앙값 두 값의 평균값을 반환합니다.

사용법

기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.median(axis=None, skipna=None, level=None, numeric_only=None, kwargs)
axis : {0 : index / 1 : columns} 계산의 기준이 될 축입니다.
skipna : 결측치를 무시할지 여부입니다.
level : Multi Index의 경우 연산을 수행할 레벨입니다.
numeric_only : 숫자, 소수, 부울만 이용할지 여부입니다.
kwargs : 함수에 전달할 추가 키워드입니다

결측값 제거 (dropna)

[Python] pandas 누락된 데이터 처리 (NA, NaN, None)
언어/파이썬 & 장고 2022. 8. 22. 01:31
용어

NA: Not Available의 약자로 누락된 데이터 = 결측값을 의미. 여기에는 NaN, None이 모두 포함된 개념

NaN: Not a Number의 약자로 숫자 형태의 누락된 데이터 = 결측값을 표현

None: 파이썬에서 누락된 데이터 = 결측값을 표현

inf: infinite의 약자로 무한대를 의미. https://brownbears.tistory.com/549 에서 설명되어 있음

null: NA와 동일하게 누락된 데이터를 의미. pandas에서는 해당 개념이 isnull(), notnull() 같은 함수 형태로만 나옴

pandas에 sample()이라는 함수가 있다. random sample을 뽑아주는 함수 이다. 각 인자들이 의미하는 바를 알아보고, 사용법을 알아보자.

DataFrame.sample(n=None, frac=None, replace=False,
weights=None, random_state=None,
axis=None, ignore_index=False)
들어가는 인자는 아래와 같다.

n / frac: 리턴되는 개수(/비율)를 정한다

replace (bool) : 중복 허용 여부를 정한다

weights : 원소 별 추출 확률을 정한다

random state: seed for random number generator

axis : 0 or 'index' / 1 or 'columns'

ignore_index

train_test_split
https://cleancode-ws.tistory.com/134

Matplotlib 축 레이블 설정하기
https://codetorial.net/matplotlib/set_label.html
plt.plot(x,y,'r-',label='sin',lw=1)에서 'r-'은 문자열은 색상, 선타입, 마커 등의 속성을 나타낸다. 'r-'는 red, solid line, 마커를 의미한다. label은 레전드에 표시될 내용이고, lw는 line width이다.

plt.title(title), plt.xlabel(xlabel), plt.ylabel(ylabel)은 제목, X와 Y축 제목을 나타낸다.

plt.axis([xmin,xmax,ymin,ymax])는 축의 범위를 지정한다.

plt.xlim([xmin, xmax]), plt.ylim([ymin, ymax])을 사용할 수도 있다.

plt.grid(True)는 격자를 그리고, plt.legend는 레전드를 표시한다.

plt.tight_layout()은 여백을 조정하는 역할을 한다.

latex 수식을 title(), xlabel(), ylabel(), text() 등에 지정할 수 있다. 다만 r’text’ 등과 같은 r을 앞에 기입하여 raw 문자열이어야 한다.
gca()가 있는 현재의 Axes 객체를 구해준다.

profile
https://lakedata.tistory.com 블로그 이전

0개의 댓글