2차원 좌표(X,Y) 데이터가 있는 csv 데이터 파일을 읽어 왔는데, 해당 데이터 안에 괄호와 공백이 들어 있어서 데이터 전처리를 해야하는 경우가 발생했다. 그래서, csv 파일을 읽어온 다음 데이터 프레임 내에 특정 문자열을 replace하여 데이터 처리를 하였다.
특정 데이터 replace하는 방법
replace하는 방법은 2가지 방법이 있는데, 아래의 표를 보면 정확히 일치하는 문자열이냐 특정 문자열이 일치하는 문자열이냐에 대한 방법이 있다.
함수 | 내용 |
replace() | 정확히 일치하는 문자열 변경 |
str.replace() | 특정 문자열 일치하는 문자열 변경 |
기본적으로, 1번의 replace()의 경우에는 전체 데이터 프레임에 대해서 변경을 할 수 있다.
#라이브러리 import
import sys
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
#csv 가져오기
origin_data = pd.read_csv('D:\\testdata.csv')
위와 같이, origin_data라는 변수에 csv 파일을 가져왔다. 해당 데이터에서 NaN이 있어 fillna를 사용하여 (0, 0)으로 채워 넣었다. 아래의 사진이 그 결과다.
특정 데이터 replace하는 방법 - replace()
그래서 이 (0, 0)으로 되어 있는 것을 0으로 변경하려고 한다. 아래와 같이, replace를 통해 변경할 수 있다.
origin_data = origin_data.replace('(0, 0)', 0)
특정 데이터 replace하는 방법 - str.replace()
str.replace()를 사용하는 방법은 전체 데이터 프레임이 아닌 컬럼 기준으로 변경할 수 있다.
그래서, 아래와 같이 데이터 프레임의 컬럼 이름을 뽑아와서 반복문을 돌려서 문자열을 변경시킬 수 있다.
df['컬럼 이름'] = df['컬럼 이름].str.replace('타겟 문자열', '변경 문자열')
column_list = origin_data.columns
for column_name in column_list :
origin_data[column_name] = origin_data[column_name].str.replace('(', '')
origin_data[column_name] = origin_data[column_name].str.replace(')', '')
origin_data[column_name] = origin_data[column_name].str.replace(' ', '')
'Language > Python' 카테고리의 다른 글
[Python] Python OpenCV를 사용하여 이미지 밝기 조절하기 (0) | 2024.06.27 |
---|---|
[Python] 파이썬 loggging 사용법 및 예제 (0) | 2024.06.26 |
[Python] 파이썬 List to Str로 변환하는 방법 (1) | 2024.06.03 |
[Python] 파이썬 matplotlib x축(xticks) 값 정렬이 안되는 문제 해결 방법 (0) | 2024.05.21 |
[Python] 파이썬 NaN 다른 문자열로 처리하는 방법 (0) | 2024.05.20 |
[Python/pygame] pygame.event.get() QUIT에 대한 정리 (0) | 2024.03.21 |
stat: path should be string, bytes, os.PathLike or integer, not list 문제 해결 방법 (0) | 2024.02.28 |
[Python/Pandas] csv 파일 읽어올 때 앞에 0까지 읽어오는 방법 (0) | 2024.02.20 |
최근댓글