안녕하세요 😊
데이터 전처리에서 자주 쓰이는 명령어지만 잘 실수하거나 까먹는 코드 (제 기준) 위주로 정리했습니다.
1. append
append의 경우 데이터프레임에서 append를 할 때와 리스트에서 append를 할 때 사소한 차이가 있더라구요.
append는 대부분이 알고 계신 것처럼 데이터를 뒤에 추가하는 명령어인데요.
쉬운 예시를 보여드리면 다음과 같습니다.
a=[1,2,3]
a.append(b)
print(a)
[1,2,3,4]
a= [1,2,3]
b=[4,5]
a.append(b)
print(a)
[1,2,3,[4,5]]
위와 같이 append는 쉽게 생각해서 a라는 리스트 안에 b라는 리스트 혹은 데이터 자체를 그대로 찍어 넣는다고 생각하시면 편할 것 같습니다. 리스트 안에 리스트가 생긴 것 보이시나요? 😀
그렇다면 리스트 안에 리스트가 안 생기고 하나의 리스트로 묶이게 하려면 어떻게 해야 할까요??
a=[1,2,3]
b=[4,5]
a.extend(b)
print(a)
[1,2,3,4,5]
위와 같이 extend 명령어를 쓰면 된답니다 !
근데 데이터 프레임에서의 append는 ??
import pandas as pd
a = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
print(a)
a b
0 1 4
1 2 5
2 3 6
b = pd.DataFrame({'a':[7,8,9],'b':[10,11,12]})
print(b)
a b
0 7 10
1 8 11
2 9 12
예를 들어 위의 예처럼 컬럼 값이 똑같은 두개의 데이터프레임을
아래로 이어서 붙이려고 하는 경우가 있다고 합시다.
이럴 때도 대부분은 똑같이 append를 사용하실꺼라 생각하는데요.
a.append(b)
a b
0 1 4
1 2 5
2 3 6
0 7 10
1 8 11
2 9 12
a.append(b)를 하면 저희가 원하는 것처럼 나오는걸 확인할 수 있습니다.
*그러나 index는 이어서 나오지 않기 때문에 iloc 명령어를 사용하는데 제한되겠죠?
그러나 그냥 a만 확인해보면 어떻게 나올까요?
print(a)
a b
0 1 4
1 2 5
2 3 6
네! 다시 원래의 a 대로 나온다는 거!
결론은!
리스트의 경우 append를 한 이후 값 그대로 나오지만
데이터 프레임은 그렇지 않다는 걸 쉽게 놓치는 경우가 많더라구요!
이런 경우에는 그냥 a=a.append(b) 라고 다시 a로 정의해주면 된답니다 !
별거 아니지만 사소한 차이 때문에 시간 날리는 점 없기를 바라면서 포스팅 남깁니다😉
'데이터' 카테고리의 다른 글
파이썬 데이터 전처리에서 자주 쓰이는 코드 정리 (0) | 2021.06.04 |
---|---|
UTM과 GTM의 차이를 알려줄게 (1) | 2021.05.31 |
구글 애널리틱스를 공부합시다 (0) | 2021.05.19 |
웹 데이터 분석에 대한 모든 것 (0) | 2021.05.15 |
2020 빅콘테스트 혁신 아이디어 부분 후기 (1) | 2021.02.08 |