[python] split / join / iloc / astype / replace / apply

박경국·2021년 11월 18일
0

python

목록 보기
1/8
post-thumbnail

1. split / join

df['x'] = df['x'].str.split(',').str.join('')

데이터프레임 'x'열을 ','을 기준으로 분리 후 ''(공백 없이) 다시 합친다.
split() 함수는 데이터를 분리하고, join() 함수는 데이터를 합친다.

2. iloc / astype / replace / fillna(df.mean())

#데이터 프레임에서 일부만 선택하기
df = df.iloc[:,1:] #행은 모두 선택하고, 열은 2번째부터 선택한다
df = df.replace(',', '', regex=True) #regex=True를 사용해 문자열 일부만 치환
df = df.astype(int) #데이터프레임 전체를 특정 타입으로 치환
import numpy as np

df.iloc[n,n] = np.nan #데이터셋의 n번째 행, n번째 열을 NaN 값으로 치환 
df = df.fillna(df.mean()) #NaN 값을 데이터셋의 평균값으로 치환

iloc은 행이나 열을 정수로 표현해 특정 값을 추출하는 방법이고,
loc은 사전에 지정한 header(인덱싱 값)로 특정 데이터를 추출하는 방법이다.

3. replace / apply

def x(df): #함수 x를 선언
  if df['score'] > n: #함수가 작동했을 때 데이터프레임 'score'의 값이 n보다 클 때 -> S
    return 'S'
  elif df['score'] > n2:
    return 'A'
  elif df['score'] > n3:
    return 'B'
  elif df['score'] > n6:
    return 'C'
  else:
    return 'D'

df['y'] = df.apply(x, axis=1) #함수 X를 행 단위(axis=1)로 계산하고, df['y']라는 인덱스를 새로 만들어서 넣어서 그 안에 일괄로 넣어라

apply 함수는 행, 열, 전체 데이터셋에 원하는 연산을 적용한다.

0개의 댓글