Note

pandas 10 minutes (2) 본문

Machine Learning

pandas 10 minutes (2)

알 수 없는 사용자 2021. 4. 27. 17:37
728x90

3. Selection

 

(2) Selection by label : loc[]

 

데이터를 여러 개를 선택할 때는 리스트 형태로 입력해야 한다.

 

범위와 부분, 범위와 범위로 선택할 수 있다.

 

(3) Selection by position : iloc[] (위치 기반)

 

 

데이터 프레임을 생성하고 위치 번호를 통해 특정 데이터를 가져올 수 있다.

 

 

특정 위치만 원할 경우 리스트로 작성을 하고 , 뒤에 :를 사용할 경우 모든 범위를 지정한다는 뜻이다.

 

(4) Boolean indexing(조건에 맞는 값 가져오기)

 

 

df['A']와 df 전체에서 0보다 큰 값을 찾아내는 방법이다. 0보다 작은 값을 가지는 경우는 NaN으로 표현한다.

 

 

df를 df2에 복사해서 저장하고 df2에 새로운 변수 E를 추가한다.

데이터 프레임 df2에서 E 그룹의 'two', 'four'를 찾아내는 코드이다.

 

(5) Setting

 

데이터 프레임을 생성하고 s1이라는 새로운 시리즈 데이터를 생성한다.

새로운 시리즈 데이터는 20130102부터 6일 동안 데이터를 s1에 저장한다.

그리고 데이터 프레임 df에 F그룹을 만들고 s1을 추가한다.

 

'D' 그룹에 숫자 5와 len(df)를 곱한 값을 대입한다.

len(df)는 df의 길이를 나타내 주는 함수인데 길이가 6이므로 5가 6개인 데이터가 생성된다.

 

간단한 응용

 

4. Missing data

 

 

기존 데이터 프레임에 새로운 'E' 변수를 추가하여 df1 생성

df1 위치에 맞는 곳에 1을 입력

 

NaN 값이 잇는지 확인해보는 방법으로 df1과 비교하여 맞는지 확인한다.

 

NaN 값이 존재하는 행을 모두 삭제하는 방법과 그 자리에 value 값으로 채우는 방법

 

5. Operations

 

(1) Stats(통계데이터)

 

두 가지 다른 평균

평균을 보는 2가지 방법이다. ()안의 숫자에 따라 열과 인덱스 기준으로 볼 수 있다.

 

shift의 역할

s 데이터 프레임을 생성하고 shift()를 사용한 모습.

shift(2)는 데이터가 2칸 이동한 모습을 볼 수 있다. ()의 숫자에 따라 위치 조정이 가능하다.

또한, 주가 예측을 할 때 쓰이기도 하지만 그건 조금 더 공부를 해야 적용이 가능할 것 같다.

 

데이터 프레임 df에서 모든 값 - s에 해당하는 값을 해준 것이다.

 

(2) Apply

 

누적 합계값

'A' 그룹에 해당하는 최댓값과 최솟값을 각각 프린트한 내용과 각 열마다 최댓값-최솟값을 실행한 결과.

 

(3) Histogramming

 

10개의 수에 랜덤으로 0부터 7까지 배정한 것을 s에 저장

s.value_counts()는 각 숫자가 몇 번씩 나왔는지 확인해 볼 수 있다.

두 그림을 비교해보면서 맞는지 확인해 봐야 한다.

 

(4) String Methods

 

s라는 새로운 데이터 프레임을 생성하고 str.lower() 옵션은 소문자로 바꿔주는 옵션이다.

반대로 upper()는 대문자로 변경해주는 옵션이다. 이외에도 capitalize(),title() 등과 같은 옵션이 있다.

 

6. Merge(데이터프레임 두 개 이상 결합)

 

(1) Concat

 

df 생성

pieces를 통해 데이터를 범위에 맞게 쪼개 준다.

이는 다시 concat()을 사용해서 데이터 프레임을 합칠 수 있다.

이는 예시를 위해 원래 데이터를 쪼개서 다시 붙이는 형태이다. 이 함수를 사용하기 위해서는 컬럼의 기준이 같아야한다.

 

(2) merge

 

각각의 데이터 프레임을 공통된 컬럼인 'key'를 기준으로 합친 모습이다.

 

7. Grouping

 

(1) groupby

 

기존에 합쳐지지 않은 데이터 프레임 생성.

 

'A','B'를 기준으로 더한 값과 평균을 나타낸 결과물.

'Machine Learning' 카테고리의 다른 글

4. 엑셀을 다루는 판다스  (0) 2021.04.28
pandas 10 minutes (3)  (0) 2021.04.28
pandas 10 minutes (1)  (0) 2021.04.27
pandas cheat sheet  (0) 2021.04.27
주피터 노트북 사용하기  (0) 2021.04.26
Comments