1. 문자 형태 변경
df['col'].astype[dtype]
ex) rating 열의 값이 "not given"이 아닌 행 선택
valid_ratings = fast_restaurants[fast_restaurants['rating'] != 'Not given']
ex) rating 값을 int로 변환
valid_ratings['rating'] = valid_ratings['rating'].astype(int)
2. 반복문 - 쿼리가 간단해짐!
1) Enumerate
for i, col in Enumerate(['Age','Gender','Attrition']) -- i는 index의 약자, col은 column의 약자
-> Enumerate안에 있는 col을 써서 index 해라!
print(i,col) 하게 되면!
0 Age
1 Gender
2 Attrition - 이렇게 결과 나옴!
3. select, count, isnull → SQL과 같은 기능!
df.select/count/isnull("col_name").show()
4. filter, where → SQL where과 같은 기능!
df.filter(F.col("col_name")=="보고싶다 성재").select("col_name").show()
→ df.filter(F.col("col_name").isnull()) 이렇게도 사용가능!
5. when → SQL case when과 같은 기능!
df
.select(
"Pack",
F.when(
F.col("Pack") > 12, "over bulk"
).otherwise("unit").alias("Pack_bin")
).show()
6. collect_set, collect_list
- 특정 조건에 맞는 값들의 set, list
- collect_set → Object들의 고유한 집합(=distinct), collect_list → Object의 집합을 반환
df.select(F.collect_set('col_name')).show()
7. size
- Col에 있는 array의 길이를 반환
- list 형태의 len과 유사한 기능
8. withcolumn
- 기존 Col의 업데이트 ,타입변경, 신규 Col 추가
df.withcolumn("Col_name", 넣고 싶은 값)
9. 날짜 데이터 형식 변경
df['Date']= pd.to_datetime[df['col']]
df['Year']= df['year'].dt.year → year 추출
df['Month']= df['Month'].dt.month → month 추출
df['Day']= df['Day'].dt.day → day 추출
df['weekday'] = df['event_time'].dt.day_name() → 요일 추출
10. Value_counts()
- 시리즈내 고유값의 개수를 시리즈로 변환! 몇번 나타나는지!
df.value_counts()
* ()안에 normalize=True를 쓰게 되면 그 Col내의 고유값 비율을 알 수 있음!