Pandas DataFrame을 열 값으로 나누는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-19 22:28:29
원래의
379명이 탐색했습니다.

How to Divide a Pandas DataFrame by a Column Value?

Pandas DataFrame을 열 값으로 나누는 방법

열 값을 기준으로 Pandas DataFrame을 분할하는 것은 별도의 하위 집합을 만드는 데 유용할 수 있습니다. 데이터. 'Sales'라는 열이 있는 DataFrame이 있고 이를 두 개의 DataFrame으로 나누고 싶다고 가정합니다. 하나는 'Sales'가 지정된 값보다 작은 행을 포함하고 다른 하나는 'Sales'가 지정된 값보다 크거나 같은 행을 포함합니다. 해당 값.

이를 달성하려면 다음 단계에 따라 부울 인덱싱을 사용할 수 있습니다.

  1. 분할 값 정의: 원하는 값을 변수에 할당 , s.
  2. 부울 마스크 만들기: 부울 인덱싱을 사용하여 두 개의 마스크를 만듭니다: df['Sales'] < s(s보다 작은 값의 경우) 및 df['Sales'] >= s(s보다 크거나 같은 값의 경우).
  3. DataFrame 분할: 적용 부울 마스크를 원래 DataFrame에 추가하여 두 개의 새로운 DataFrame을 생성합니다.

    • df1 = df[df['Sales'] >= s] ('Sales' >= s가 포함된 DataFrame)
    • df2 = df[df['판매량'] < s] ('Sales' < s가 포함된 DataFrame)

또는 ~ 연산자를 사용하여 첫 번째 마스크를 반전할 수 있습니다.

mask = df['Sales'] >= s
df1 = df[mask]
df2 = df[~mask]<p>다음은 다음과 같습니다. 프로세스를 설명하는 예:</p>
<pre class="brush:php;toolbar:false"><code class="python">df = pd.DataFrame({'Sales': [10, 20, 30, 40, 50], 'A': [3, 4, 7, 6, 1]})
print(df)

s = 30

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

df2 = df[df['Sales'] < s]
print(df2)</code>
로그인 후 복사

출력은 다음과 같습니다.

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

   A  Sales
2  7     30
3  6     40
4  1     50

   A  Sales
0  3     10
1  4     20
로그인 후 복사

이는 부울 인덱싱을 사용하여 지정된 열 값을 기반으로 Pandas DataFrame을 두 개로 분할하는 방법을 보여줍니다.

위 내용은 Pandas DataFrame을 열 값으로 나누는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿