3. 데이터 선택하기 (Data Selection) .iloc.locindex slicingpandas 특정 열 선택DataFrame이 가지고 있는 print(df['A']) print(df.A) 특정 행 선택특정 행 추출과 특정 행 범위 추출은 사용하는 방식이 다릅니다. 특정 행 및 행 범위 추출을 위해서는 인덱스 슬라이싱 기법을 사용해야 합니다. print(df[0:3]) print(df['20130102' : '20130104']) print(df['20130102' : '20130102']) .loc (이름을 이용한 데이터 선택)라벨의 이름을 이용하여 선택할 수 있는 print(df.loc[dates[0]]) print(df.loc[:, ['A', 'B']]) print(df.loc['20130102':'20130104',['A','B']]) .iloc (위치를 이용한 데이터 선택)위치를 나타내는 인덱스 번호를 사용하여 데이터를 선택할 수 있습니다. print(df.iloc[3]) print(df.iloc[3:5, 0:2]) print(df.iloc[:, 1:3]) print(df.iloc[:, 1:3].name) 조건을 이용한 데이터 선택특정한 행이나 열에 조건을 달아 만족하는 행이나 열만 선택하여 데이터를 추출할 수 있습니다.
필터링을 해야 하는 경우에 사용합니다. print(df[df.A > 0]) print(df[df > 0] print(df['E'] = ['one', 'one','two','three','four','three']) print(df[df['E'].isin(['two', 'four'])]) 카테고리 없음 2019. 12. 25. 16:51 판다스에서 데이터를 행과 열로 데이터를 추출하는 방법을 살펴보겠습니다. 몇 가지 기본 문법만 숙지하면 다양한 방식으로 응용할 수 있습니다. 먼저 컬럼 데이터를 추출하는 방법을 알아보겠습니다. 데이터 불러오기In [1]:
컬럼 데이터 추출하기데이터프레임에서 컬럼 데이터를 추출하려면 대괄호([ ])와 컬럼명을 사용해야 합니다. 이 대괄호 안에 컬럼명을 집어넣으면 컬럼명에 맞는 컬럼 데이터가 추출됩니다. 이렇게 추출된 데이터는 변수에 할당(저장)하여 사용할 수 있습니다. In [2]:
Out[2]:
여러 개의 컬럼 데이터를 추출하는 경우에는 대괄호를 두번([[ ]]) 사용합니다. In [3]:
Out[3]:
대괄호를 두번 사용하는 문법을 조금 더 자세히 살펴보겠습니다. 위의 코드를 리스트를 사용해서 다시 실행시켜 보겠습니다. In [4]:
Out[4]:
동일한 결과가 나온 것을 알 수 있습니다. 그러므로 1) 대괄호를 두 번 쓰는 코드와 2) 대괄호 + 리스트를 사용한 코드는 같은 코드라고 볼 수 있습니다. 행 데이터 추출하기이번에는 행 데이터를 추출하는 문법을 배워보겠습니다. 데이터프레임에서 행 데이터를 추출하는 방법은 두가지가 있습니다. 1) .loc 속성을 사용하는 방법과 2) .iloc 속성을 사용하는 방법입니다. • .loc[] 은 인덱스(index)를 기준으로 행 데이터를 추출합니다. 자세한 내용은 아래 예제를 보면서 알아보겠습니다.
In [5]:
Out[5]:
위의 데이터프레임을 잘 보시면 왼쪽에 번호가 있는 것을 알 수 있습니다. 이것이 바로 인덱스입니다. 인덱스를 별도로 설정하지 않았다면 보통 0부터 시작합니다. 행 추가, 삭제에 따라 언제든 변할 수 있으며 인덱스 설정을 통해 문자열을 사용할 수도 있습니다. 반면 행 번호의 경우에는 테이터프레임에 출력되는 값이 아니며, 문자 그대로 행의 순서를 말합니다. In [6]:
Out[6]:
여러개의 행 데이터를 추출하기 위해서는 대괄호를 두번 사용합니다. 컬럼을 추출하는 것과 유사합니다.
Out[7]:
이외에도 파이썬 슬라이싱(slicing)과 유사한 문법을 사용하여 행을 추출할 수도 있습니다. 이 경우 [start:end]와 같은 형태이며, start부터 end까지의 모든 행을 추출합니다. In [8]:
Out[8]:
이번에는 .iloc[] 속성을 활용하여 행 데이터를 추출하는 방법을 알아보겠습니다. .iloc[]은 행의 순서를 나타내는 번호를 사용하여 데이터를 추출합니다. 지금은 인덱스와 행 번호가 동일하여 모두 같은 결과 값이 출력됩니다. 다만, 추후 행 추가 및 삭제, 인덱스 설정을 통한 문자열을 사용 등의 변경 사항이 생긴다면 결과 값은 달라지게 됩니다.
In [9]:
Out[9]:
.loc[]과 마찬가지로 여러개의 행 데이터를 추출하기 위해서는 대괄호를 두번 사용합니다. 컬럼을 추출하는 것과 유사합니다.
Out[10]:
행열 데이터 한번에 추출하기이번에는 행열 데이터를 한번에 추출하는 방법을 알아보겠습니다. 데이터프레임에서 행열 데이터를 한번에 추출하는 방법은 크게 두가지가 있습니다. 1) .loc[인덱스, 컬럼]를 사용하는 방법과 2) .iloc[행 번호, 열 번호]를 사용하는 방법입니다. 자세한 내용은 아래 예제를 보면서 알아보겠습니다. In [11]:
Out[11]:
In [12]:
Out[12]:
여러개의 데이터를 추출하고 싶다면 리스트(list)를 사용하면 됩니다. In [13]:
Out[13]:
In [14]:
Out[14]:
-이 글은 아나콘다(Anaconda3)가 설치된 환경을 기준으로 작성되었습니다. |