# 코드잇 데이터 사이언티스트 강의 듣는 중
<대소문자 처리하기>
- .unique() 로 값 상태 확인.
airbnb_df['state'].unique()
--> 보면 대소문자가 중구난방으로 섞여있는데, 컴퓨터는 다 다른 값으로 인식.
1) 소문자로 바꾸기 --> .str.lower()
airbnb_df['state'].str.lower()
--> 전부 소문자
2) 대문자로 바꾸기 --> .str.upper()
airbnb_df['state'].str.upper()
--> 대문자
3) 첫 알파벳만 대문자로 바꾸기 --> .str.capitalize()
airbnb_df['state'].str.capitalize()
<문자열 분리하기>
- .str.split()
- 한 값에 있는 문자열을 ('') 안의 값으로 분리하기
airbnb_df['location'].str.split(',')
--> 이 경우에는 , 로 분리했음
--> 띄어쓰기나 어떤 문자열로도 다 가능함.
+ .. 이것을 예전에 알았다면 엑셀할 때 참으로 편했을 건데..ㅎ
- .str.split() .str[]
- 리스트 안에 문자열을 인덱싱해서 각각 벡터로 저장이 가능함.
airbnb_df['location'].str.split(',').str[0]
airbnb_df['location'].str.split(',').str[1]
# 변수를 만들어서 저장
airbnb_df['neighborhood'] = airbnb_df['location'].str.split(',').str[0]
airbnb_df['city'] = airbnb_df['location'].str.split(',').str[1]
--> 0번째 값만 따로 추출함.
--> 그걸 neighborhood 변수에 저장해줌.
- 분리를 해줬으면 굳이 이전 값을 둘 필요가 없으니 삭제해 주면 됨.
airbnb_df = airbnb_df.drop(columns='location')
<문자 제거하기>
--> 위에서 만든 벡터를 보면, 2번째 값이 공백과 .을 포함해서 값이 만들어져 있음.
--> 이 2개를 삭제하는 것이 표를 읽기에 더 깔끔하며, 컴퓨터는 공백과 .을 포함해서 읽기 때문에 아래처럼 그냥 값을 입력하면 확인 할 수 없음.
- .str.strip()
- 값의 공백을 제거해줌.
airbnb_df['city'].str.strip()
# 다시 저장
airbnb_df['city'] = airbnb_df['city'].str.strip()
- .str.replace()
- 이건 원래 값을 찾아서 변경해주는 것인데 공백으로도 변경이 가능함. --> 삭제된다는 의미
+ 워드나 한글의 '찾기와 바꾸기'로 이해하면 될 듯
- 파라미터가 기본적으로 3개가 필요함 --> ('변경할 문자', ' 변경될 문자', regex = False)
- regular expression 정규 표현식: 여러 글자를 조합해서 문자열의 패턴을 나타내는 방법 replace는 디폴트가 TRUE임. 그런데 지금은 찾아서 처리가 하는 게 아니라 없애는 거임.
++ 자세히.. 뭔 소린지 모르겠지만, 굳이 알 필요는 없을 것 같아 검색하지 않음. 어쨌든 디폴트가 아니어야 함
airbnb_df['city'].str.replace('.', '',regex=False)
#다시 저장
airbnb_df['city'] = airbnb_df['city'].str.replace('.', '',regex=False)
--> 이러면, .이 사라짐.
- 두 코드를 이어서 한 번에 쓸 수 있음 단, .str을 써서 이어줘야 함.
- 문자열 함수 연결 시 무조건 .str을 써야 함.
airbnb_df['city'].str.strip().str.replace('.','',regex=False)
'Data Science > Pandas' 카테고리의 다른 글
[데이터 전처리] 데이터 구간화 cut() or apply(), 람다함수와 apply() (0) | 2024.06.21 |
---|---|
[데이터 전처리] 새로운 값 계산하기, 정규화, 표준화, 과학적 표기법 (0) | 2024.06.20 |
[데이터 전처리] 이상치outlier 찾기, 처리하기 (0) | 2024.06.17 |
[데이터 전처리] 중복값 duplicate value 찾기, 처리하기 (0) | 2024.06.17 |
[데이터 전처리] 결측값 missing value 찾기, 처리하기 (0) | 2024.06.17 |