12. 데이터 수정

성준혁·2023년 1월 10일
0

Pandas

목록 보기
13/16
post-thumbnail

데이터를 다루다보면, 불필요한 데이터를 삭제하거나 새로운 데이터를 추가하는 등의 수정 작업이 필요할 때가 있다.

  • 데이터 준비 (이전과 동일)

Coulmn 수정

  • .replace() : 특정 데이터를 원하는 데이터로 바꿔줌. (딕셔너리 형태로 입력!)
  • .str.lower() : 입력된 문자열을 소문자로 바꿔줌 (전에 했던 내용^^)
    .str.upper() : 입력된 문자열을 대문자로 바꿔줌
  • 셀 내용을 +로 수정해줄 수도 있음.

Coulmn 추가

  • 새로운 열을 추가하고 싶을 땐, 그냥 df[ ]=로 정의만 해주면 알아서 생성됨.
  • .loc로 특정 위치의 셀을 수정할 수도 있음. (밑에 나오는 'Cell 수정'과 동일)

Coulmn 삭제

  • .drop(columns= ) : 입력된 열을 삭제해줌.
  • 여러 개를 한 번에 삭제할 수도 있음. (리스트 형태로 입력!)

Row 삭제

  • .drop(index= ) : 입력된 행을 삭제해줌. (여러 개도 가능함 ㅇㅇ)
  • 특정 조건에 해당하는 데이터를 삭제할 수도 있음. (.index 활용)

Row 추가

  • 새로운 행을 추가하고 싶을 땐, .loc로 새로운 인덱스(행)를 정의해주면 됨.

Cell 수정

  • 특정 셀의 내용을 수정하고 싶을 때도, .loc로 해당 위치의 값을 정의해주면
    새롭게 그 값으로 수정됨. (리스트로 입력하여 여러 개도 가능!)

Coulmn 순서 변경

  • 열의 순서를 바꾸고 싶다면, 그냥 열 이름을 원하는 순서대로 호출하면 됨.
  • (보충 설명)

Coulmn 이름 변경

  • 열의 이름을 바꾸고 싶다면, .columns에 새롭게 정의해주면 그 이름으로 수정됨.

🧐My Point

❓[10] 처음 배울 때, .loc를 이렇게 활용하는 게 뭔가 복잡하다고 생각했음..!
❓[11] Column 삭제할 때만 .columns 필요한 게 이해가 안 됐었음 ➡️ 이제보니, Column 수정은 사실상 (Column에 들어있는) Cell 수정이라 그런 거고, Column 추가는 그냥 정의하면 바로 생기는 거라 그런 거 같다고 어느 정도 이해가 된다..!
❓[14] 열과 달리, 행을 삭제할 땐 [] 안 씌워줘도 되네.. 헷갈린다! ➡️ 열은 원래 df['키']처럼 호출했던 거고, 행은 index니까 그런 거라고 그러려니 하면 되겠지ㅠ
.loc는 행을 추가할 때도 쓰고, 셀을 수정할 때도 쓰고.. 만능이구만...!!
(단순히 데이터 선택할 때만 쓰는 놈이 아니었다;;)

profile
생각은 그만

0개의 댓글