2017-01-19 1 views
1

I는 인덱스 번호가 0 내지 5 인 (표준 정규 분포로부터 임의의 숫자로 채워진 6X4 판다 데이터 프레임을 가지고 있고, 열 'A', 'B', 'C'와 'D'.팬더가 Series 객체를 사용하여 데이터 프레임을 분할하는 방법은 무엇입니까?

import pandas as pd 

df = pd.DataFrame(np.random.randn(6,4), index=[0,1,2,3,4,5], columns=list('ABCD)) 

은 다음과 같습니다 Data Frame

좀 문자열 열을 추가 :

df['E'] = ['one', 'one', 'two', 'three', 'four', 'three'] 

이제 데이터 프레임은 다음과 같습니다 enter image description here

열 E를 참조하는, 내가 키워드 '하나'또는 '네'만 행을 얻을 수 있습니다

x = df['E'].isin(['one','four']) 
df[x] 

을 나는이 얻을 : enter image description here

을하지만 난이 x의 유형을 검사 할 때, 그것은 팬더 시리즈 (pandas.core.series.Series)입니다.

Series가 데이터 프레임을 조각 내기 위해 해석되는 방식을 이해하지 못합니까? 나는 근본적인 수준의 다소를 이해하고 싶습니다. 반환 할 행을 어떻게 알 수 있습니까? x를 인쇄하면 부울 값으로 채워진 시리즈입니다.

답변

1

부울 색인입니다. 간단한 방법으로 부울 값을 데이터 프레임과 정렬 할 수 있습니다. 부울 시리즈가 true 인 경우 행이 선택됩니다. 그렇지 않으면 (false), 행이 h 제됩니다. 예를 들어 x는 인덱스 0,1,4에서 true이므로 이러한 인덱스가있는 데이터 프레임 행이 선택됩니다 (예 : 첫 번째, 두 번째 및 다섯 번째 행).

관련 문제