"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Pandas의 특정 열 값을 기반으로 DataFrame을 분할하는 방법은 무엇입니까?

Pandas의 특정 열 값을 기반으로 DataFrame을 분할하는 방법은 무엇입니까?

2024년 11월 20일에 게시됨
검색:666

How to Split a DataFrame Based on a Specific Column Value in Pandas?

Pandas의 열 값을 기준으로 DataFrame 분할

데이터 분석에서 DataFrame을 여러 개로 나누어야 하는 상황에 자주 직면합니다. 특정 열 값을 기반으로 하는 DataFrame입니다. 그러한 경우 중 하나는 DataFrame을 두 부분으로 분할하려는 경우입니다. 하나는 특정 임계값보다 낮은 값을 가진 행을 포함하고 다른 하나는 해당 임계값보다 높거나 같은 값을 가진 행을 포함합니다.

Pandas에서는 이를 수행할 수 있습니다. 부울 인덱싱을 사용하여 분할합니다. 예를 들어 이 분할을 달성하는 방법은 다음과 같습니다.

'Sales'라는 열이 있는 다음 DataFrame을 고려하세요.

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print (df)

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

판매 가치 30을 기준으로 이 DataFrame을 두 개로 분할하고 싶다고 가정합니다.

직접 비교로 분할:

가장 간단한 방법은 부울 인덱싱 연산자 '>='를 사용하여 직접 비교하는 것입니다:

s = 30

df1 = df[df['Sales'] >= s]
print (df1)

   A  Sales
2  7     30
3  6     40
4  1     50

이렇게 하면 Sales 값이 30보다 크거나 같은 모든 행을 포함하는 df1이라는 새 DataFrame이 생성됩니다.

역 마스크로 분할:

Sales가 30보다 작은 행으로 DataFrame을 생성하려면 ~:

df2 = df[~mask]
print (df2)

   A  Sales
0  3     10
1  4     20

이렇게 하면 Sales 값이 30보다 작은 모든 행을 포함하는 df2라는 새 DataFrame이 생성됩니다.

릴리스 선언문 이 기사는 1729348398에 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3