본문 바로가기

빅데이터

특정 데이터 값 변경(replace함수)

지난번에 다루던 데이터를 계속해서 이용한다. 이 데이터의 구분 컬럼을 보면 한식과 비한식으로 나눠져있다. 한식을 판매하는 업체만 보고 싶으니 구분에서 한식에 해당하는 데이터만 불러온다.

 

데이터명['컬럼명'] == '찾을 데이터명'

위 형식으로 입력하면 데이터의 값 중 한식과 일치하는지 일치하지 않는지 보여주는 bool 타입으로 나오게 된다. 데이터 프레임을 씌워주면 보기 편하게 된다.

 

중략

 

데이터를 보다보면 27번 인덱스의 값 처럼 업체명이 Nan값인 부분이 있다. 이유는 잘 모르지만 누락된 데이터이기 때문에 채워주도록 한다. 검색을 해보니 벽제외식산업개발의 브랜드중 하나인 것 같다. (어차피 혼자 연습하는 데이터이니 틀려도 된다.) 저 NaN에 벽제외식산업개발을 넣어주도록 하자.

 

 

replace 함수는 다양한 방법으로 사용할 수 있는데 다양한 사용법을 알아보기 위해서는 데이터명.replace? 를 실행하면 설명과 함께 예시를 볼 수 있다. 위 코드는 업체명 컬럼의 Nan 값을 벽제외식산업개발로 바꿔주는 코드이다.

 

 

이것처럼 깔끔하게 바뀐다. 이번에는 한식이 아닌 메뉴를 파는 업체만 불러보도록 한다. 위의 코드를 살짝만 응용해주면 된다.

 

중략

 

이번 데이터에도 역시 NaN 값이 있다. 사진에는 2개만 있지만 사실 여러 개 더 있다. 이럴 경우 위에서 사용한 방법을 사용하면 모든 NaN 값이 일괄적으로 바뀌게된다. 모든 NaN 값을 동일한 값으로 변경해줄 때는 좋은 방법이겠지만 지금과 같이 다른 값으로 대체해야 하는 상황에는 좋지 않다. 이번에는 n번째 인덱스 값을 변경해주는 방법으로 바꾸도록 하겠다.

 

위 사진은 data_notkfood에 저장되어 있는 데이터지만 사실 인덱스 번호 84는 data가 기준이다. 그렇기 때문에 data에 저장되어있는 컬럼을 불러와 바꿔주도록 한다.

 

 

데이터명['컬럼명'].loc[인덱스번호] = '변경할 값'

 

이렇게 코드를 입력해주면 특정 컬럼의 n번째 인덱스에 있는 값을 바꿔줄 수가 있다.

 

 

참 쉽죠?