달력

2

« 2020/2 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1


 

 

데이터프레임의 다중 인덱스 조작

·       다중 인덱스

·       행 인덱스와 열 인덱스 교환

·       다중 인덱스가 있는 경우의 인덱싱

·       다중 인덱스의 인덱스 순서 교환

·       다중 인덱스가 있는 경우의 정렬

 


Posted by codedragon codedragon

댓글을 달아 주세요


   

 

데이터프레임 인덱스 설정 및 제거

데이터프레임에 인덱스로 들어가 있어야 할 데이터가 일반 데이터 열에 들어가 있거나 반대로 일반 데이터 열이어야 할 것이 인덱스로 되어 있을 수 있습니다. 이 때는 set_index()함수와 reset_index()함수로 인덱스와 일반 데이터 열을 교환할 수 있게 해 줍니다.

 

함수

설명

set_index(인덱스)

·       기존의 행 인덱스를 제거하고 데이터 열 중 하나를 인덱스로 설정합니다.

·       인덱스를 설정하면 기존 인덱스는 없어집니다.


reset_index(drop=True)

·       기존의 행 인덱스를 제거하고 해당 인덱스를  데이터 열로 추가합니다.

·       reset_index()함수로 인덱스를 보통의 자료열로 변경할 수 있습니다.

·       때 인덱스 열은 자료열의 가장 선두로 삽입됩니다. 데이터프레임의 인덱스는 정수로 된 디폴트 인덱스로 바뀝니다.

·       drop=True 인자를 설정하면 인덱스 열을 보통의 자료열로 올리는 것이 아니라 그냥 버립니다.


 

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

 

 

데이터프레임 데이터 조작 - 데이터 갯수 세기

함수

설명

count()

·       데이터 갯수 세기 함수

·       NaN 값은 세지 않는다.

·       데이터프레임에서 각 열마다 데이터 개수 셉니다. 데이터에서 값이 누락된 부분을 찾을 때 유용하게 사용할 있습니다.

 

value_counts()

·       카테고리 값 세기 함수

·       시리즈의 값이 정수, 문자열, 카테고리 값인 경우에 각각의 값이 나온 횟수를 셉니다.

·       데이터프레임에는 value_counts() 메서드가 없으므로 각 열마다 별도로 적용해야 합니다.

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

다중 인덱스의 인덱스 순서 교환

swaplevel() 함수를 사용합니다.

 

 

 

 

 

swaplevel()

다중 인덱스의 인덱스 순서를 바꾸고 사용합니다.

 

swaplevel(i, j, axis)

 

인자

설명

i

교환하고자 하는 인덱스 라벨(혹은 인덱스 번호)

j

교환하고자 하는 인덱스 라벨(혹은 인덱스 번호)

axis

또는 행인덱스를 지정합니다.

axis

설명

0

·       행 인덱스, 행처리 (index)

·       디폴트

1

·       열 인덱스, 열처리 (columns)

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

다중 인덱스가 있는 경우의 데이터프레임 인덱싱

·       데이터프레임이 다중 인덱스를 가지는 경우에는 인덱스가 하나의 라벨이나 숫자가 아니라 괄호 ()로 둘러싸인 튜플(tuple)이여야 합니다.

·       iloc 인덱서를 사용하는 경우에는 튜플 형태의 다중인덱스를 사용할 수 없습니다.

·       인덱스로 하나의 레벨 값만 넣으면 다중 인덱스 중에서 가장 상위의 값을 지정한 것으로 간주합니다.

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

 

행 인덱스와 열 인덱스 교환

·       인덱스를 행 인덱스로 바꾸거나 반대로 행 인덱스를 열 인덱스로 바꿀 수 있습니다.

·       인덱스를 지정할 때는 문자열 이름과 순서를 표시하는 숫자 인덱스를 모두 사용할 수 있습니다.

 

함수

설명

stack()

·       인덱스 -> 행 인덱스로 변환합니다.

·       인덱스가 시계 방향으로 90도 회전한 것과 비슷한 모양이 됩니다.

unstack()

·       인덱스 -> 열 인덱스로 변환합니다.

·       인덱스가 반시계 방향으로 90도 회전한 것과 비슷한 모양이 됩니다.

 

 


'Development > Python' 카테고리의 다른 글

다중 인덱스의 인덱스 순서 교환  (0) 2020.02.10
다중 인덱스가 있는 경우의 데이터프레임 인덱싱  (0) 2020.02.10
행 인덱스와 열 인덱스 교환  (0) 2020.02.10
다중 인덱스(Multi-index)  (0) 2020.02.10
%timeit  (0) 2020.02.10
cut()  (0) 2020.02.10
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

다중 인덱스(Multi-index)

·       데이터프레임을 생성할 때 columns 인자에 리스트의 리스트(행렬) 형태로 인덱스를 넣으면 다중 열 인덱스를 생성할 있습니다.

·       데이터프레임을 생성할 때 index 인자에 리스트의 리스트(행렬) 형태로 인덱스를 넣으면 다중 행 인덱스를 생성할 있습니다.

·       다중 인덱스의 이름지정하여 사용할 있습니다. 인덱스들의 이름 지정은 columns 객체의 names 속성에 리스트를 넣어서 지정합니다. 인덱스들의 이름 지정은 index 객체의 names 속성에 리스트를 넣어서 지정합니다.

 

pd.DataFrame( data, columns=[["A", "A", "B", "B"],

                            ["C1", "C2", "C1", "C2"]])

df4 = pd.DataFrame(data,

                   columns=[["A", "A", "B", "B"],

                            ["C", "D", "C", "D"]],

                   index=[["M", "M", "M", "F", "F", "F"],

df.columns.names = ["indexname1", "indexname2", ...]

df.index.names = ["indexname1", "indexname2", ...]

 

 


'Development > Python' 카테고리의 다른 글

다중 인덱스가 있는 경우의 데이터프레임 인덱싱  (0) 2020.02.10
행 인덱스와 열 인덱스 교환  (0) 2020.02.10
다중 인덱스(Multi-index)  (0) 2020.02.10
%timeit  (0) 2020.02.10
cut()  (0) 2020.02.10
열 데이터 갱신, 추가, 삭제  (0) 2020.02.10
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 10. 15:46

%timeit Development/Python


 

 

%timeit

·       Built in magic 키워드

·       코드가 처리되는 시간을 확인할 있습니다.

 

 

%timeit 실행할코드

 

 


'Development > Python' 카테고리의 다른 글

행 인덱스와 열 인덱스 교환  (0) 2020.02.10
다중 인덱스(Multi-index)  (0) 2020.02.10
%timeit  (0) 2020.02.10
cut()  (0) 2020.02.10
열 데이터 갱신, 추가, 삭제  (0) 2020.02.10
dir()  (0) 2020.02.10
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 10. 13:52

cut() Development/Python



 

cut()

·       실수 값의 경계선을 지정하는 경우 사용합니다.

·       값을 카테고리 값으로 바꿔줍니다.

·       반환하는 값은 Categorical 클래스 객체입니다.

·       Categorical 클래스 객체는 categories 속성과 codes 속성을 가집니다.

 

 

pandas.cut(x, bins, right: bool = True, labels=None, retbins: bool = False, precision: int = 3, include_lowest: bool = False, duplicates: str = 'raise')

 

 

parameter

description

x

데이터

bins

카테로리할 기준값

labels

레이블 목록

 

 

 

 

Categorical 클래스

속성

설명

categories

·       라벨 문자열

codes

·       정수

·       인코딩한 카테고리 값

 

'Development > Python' 카테고리의 다른 글

다중 인덱스(Multi-index)  (0) 2020.02.10
%timeit  (0) 2020.02.10
cut()  (0) 2020.02.10
열 데이터 갱신, 추가, 삭제  (0) 2020.02.10
dir()  (0) 2020.02.10
클래스 메서드(class method)  (0) 2020.02.10
Posted by codedragon codedragon

댓글을 달아 주세요


 

데이터 갱신, 추가, 삭제

데이터프레임은 열 시리즈의 딕셔너리으로 볼 수 있으므로 열 단위로 데이터를 갱신하거나 추가, 삭제할 수 있습니다.


'Development > Python' 카테고리의 다른 글

%timeit  (0) 2020.02.10
cut()  (0) 2020.02.10
열 데이터 갱신, 추가, 삭제  (0) 2020.02.10
dir()  (0) 2020.02.10
클래스 메서드(class method)  (0) 2020.02.10
plot()  (0) 2020.02.09
Posted by codedragon codedragon

댓글을 달아 주세요