목록Data Engineer/pandas (11)
취미가 좋다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xejXz/btrfsejXrLR/occpoymCEcKHSLoTpKc7b1/img.png)
unique 함수 unique() 함수 행에서 유니크한 값을 뽑을 때 사용한다. 중복되는 job들은 한 번씩만 나오도록 해서 job의 종류를 알 수 있다. value_counts 함수 value_counts() 함수는 위의 각 job마다 몇 개의 데이터가 있는 지 알 수 있다. 두 개의 데이터 프레임을 합치는 방법 2가지를 소개한다. concat 함수 / append 함수 concat() 함수와 append() 함수로 행을 추가할 수 있다. 데이터를 열로 합칠 때는 axis=1로 설정하여 concat() 함수를 사용할 수 있다. 간단하게 선언을 통해서 합칠 수도 있다. https://youtu.be/cMsw0DzsezU
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yJyFm/btrfBsHX8b2/1DI6OR2GabT8EgtEFZkiAK/img.png)
apply 함수 데이터프레임의 각 행 혹은 열에 연산을 적용할 때 for문 대신에 사용할 수 있다. apply의 첫 인자로 함수 이름이 들어가고 그 뒤로는 함수의 인자들을 지정하여 넣을 수 있다. axis=1을 넣으면, 해당 열의 값들을 활용할 수 있다. axis에 따른 함수 실행의 차이이다. map 함수 map() 함수는 apply() 와 비슷하게 사용할 수 있다. 아래는 map 대신 apply를 사용해도 똑같이 사용할 수 있다. 특정 데이터를 다른 데이터로 대체할 때 아래와 같이 쉽게 사용할 수 있다. applymap() 특정 열이 아니라 모든 열에 적용하고 싶을 때는 applymap()을 사용한다. 아래는 모든 열에서 반올림을 실시했다. https://youtu.be/EHaDMTjCh5s
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dmY7On/btrfqDK0VCa/NRYiaTGwRccniPBBpqajA0/img.png)
None 값 찾기 df.info() 함수에서 데이터프레임의 정보를 볼 수 있고, non-null 데이터의 개수를 알 수 있다. df.isna(), df.isnull() 함수를 통해 null 값을 찾을 수 있다. fillna() 함수를 통해 null인 값에 새로운 값을 넣을 수 있다. 아래에 0.0이 나이로 들어간 것을 볼 수 있다. 지금까지 배운 것을 활용하여 0이 아니라 각 직업의 median 값을 넣도록 한다. job으로 그룹을 묶고 age만 본다. 그 값들의 median을 가져오고 fillna로 채운다. inplace를 통해 반환하지 않고 값의 변화가 적용되도록 한다. https://youtu.be/UUZdpgKysGQ
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XFVMJ/btrftn8GF7X/XbKMcP7koKO2K7C9UFzPJ0/img.png)
중복 데이터 삭제하기 duplicated() 함수로 각 인덱스 별로 중복 여부를 알 수 있다. drop_duplicates() 함수로 중복된 데이터를 쉽게 삭제할 수 있다. 중복의 기준 변경 중복의 기준을 인자를 통해 새로 설정할 수 있다. 아래는 중복의 기준을 name으로 하여 다른 데이터가 다르더라도 이름이 같으면 중복처리하여 삭제한다. keep 인자를 통해 앞의 데이터와 뒤의 데이터 중 어느 것을 살릴 것인지 결정할 수 있다. 'first', 'last' 중 살릴 것을 선택해서 넣으면 되고 default는 'first'이다. https://youtu.be/p6qEgqjv-H4
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yZinN/btrfG2uWHD9/31ShW0lKEcIOZDnSINNOQk/img.png)
데이터 그룹 만들기 아래와 같은 학생들의 데이터가 있을 때, df.groupby를 사용하여 각 전공별로 데이터 그룹을 만들어보자. for문을 사용하여 더 보기 좋게 출력할 수 있다. 위에서 만든 데이터 그룹으로 새로운 데이터프레임을 만들어보자. count라는 인덱스로 각 전공별 인원 수를 넣는다. reset_index() 를 사용해서 기존의 major도 index로 넣는다. https://youtu.be/y1AM0CmgK7k
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BqGxI/btrfDgAsnr6/8D25mRk8aRsqhyml2sL2LK/img.png)
열 생성, 수정하기 새로운 열의 인덱스를 선언하고 값을 넣어주면 모든 행에 같은 열 값이 들어간다. 위처럼 모두 같은 값을 넣지 않고 조건문을 통해 원하는 값을 넣을 수도 있다. np.where은 앞의 조건이 True일 때 2번 째 인자를 반환하고, False일 때 3번 째 인자를 반환한다. 연산을 통해서 열에 값을 넣을 수 있다. 같은 길이의 리스트로 새로운 열을 추가할 수 있다. 길이가 다르면 에러가 발생한다. apply 로 함수를 활용하여 열 값을 수정할 수 있다. 행 생성하기 기존 데이터프레임에 append를 통해 다른 데이터프레임을 붙일 수 있다. pd.DataFrame으로 새로운 데이터프레임을 생성한다. ignore_index를 통해 기존의 0 인덱스를 무시하고 새로 추가되면서 새로운 인덱스를..