-pd.melt()
_pd.pivot_table
1. 테이블 불러오기
pd.read_csv()
: ()안에 불러올 파일, 인코딩 정보(주로 utf-8, utf-8-sig, cp949)
2. 데이터 살펴보기
df.head()
: 데이터가 잘 불러와졌는지 check
df.info()
: 데이터 정보확인 (행,렬, dtype, null값...)
df.columns[]
: 괄호안에 숫자를 넣어서 특정열을 확인 할 수 있음
df[df.columns[]].unique()
: 특정열의 유니크한 값을 알 수 있음
df[df["열이름"]==조건]
: 조건에 해당하는 열의 정보만을 확인 할 수 있음
3. 데이터 재구조화 하기
df.melt()
or pd.melt(df)
:
가로로 나열되어 있는 데이터를 세로로 나열되게 해줌
원래 있던 컬럼들의 이름을 variable 컬럼아래 길게 나열하고
value에 그에 해당하는 값을 넣는다
pd.melt(data, id_vars="", var_name="", value_name="")
4. 데이터 타입 변경하기
type(i) for i in df["열이름"]
: "열이름"에서 가져온 변수 i의 dtype을 리스트 형태로 확인
set([type(i) for i in df["열이름"])
: set은 리스트이 중복 값을 삭제하고 데이터를 보여줌
i for i in df["열이름"] if type(i) != int
: dtype이 숫자가 아닌 변수 i를 리스트로 출력해줘
def strtoint(x) :
if type(x) == str :
x = x.replace("-", "0")
x = int(x)
else :
pass
return x
(참고. replace는 string에 적용되는 함수로, 바로 int로 바꿀 수는 없다)
df2["열이름"] = df2["열이름"].apply(strtoint)
: 정의한 함수를 적용후 df에 적용
5. 피벗테이블로 데이터 다뤄보기
df.pivot_table(index = 'column1' , columns = 'column2' , aggfunc = '연산')
6. 데이터셋의 필요하지 않는 값들 빼기
df = df[df["열이름"] != "조건1"]
: 조건1에 맞지 않은 열만 데이터셋에 입력
df2 = df2[df2["열이름"] == "조건2"]
: 조건2에 맞는 열의 데이터만 입력
df2.drop("열이름", axis = 0 or 1)
: 열이름을 기준으로 axis=0 은 행, axis=1은 열을 삭제
7. 양식이 다른 열을 일치시키기
df2['열이름'] = df2['열이름'].apply(lambda x : x.replace(" p)", ""))
8. 저장하기
df.to_csv("preprocess.csv", encoding = 'cp949', index = False)