"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 인덱스 또는 조건을 기반으로 Pandas Dataframe에서 행을 삭제하는 방법은 무엇입니까?

인덱스 또는 조건을 기반으로 Pandas Dataframe에서 행을 삭제하는 방법은 무엇입니까?

2024-11-03에 게시됨
검색:634

How to Drop Rows from a Pandas Dataframe Based on Index or Conditions?

Pandas 데이터프레임에서 행 삭제

Pandas에서는 데이터 정리를 위해 데이터프레임에서 특정 행을 제거해야 하는 경우가 종종 있습니다. 목적을 달성하거나 특정 하위 집합에 집중합니다. 이를 달성하는 한 가지 효율적인 방법은 다양한 기준에 따라 행을 선택적으로 제거할 수 있는 삭제 기능을 활용하는 것입니다.

프로세스를 설명하기 위해 데이터 프레임 df:

import pandas as pd

df = pd.DataFrame({'sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'discount': [None, None, None, None, None, None],
                   'net_sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'cogs': [2.245, 5.291, 7.981, 12.686, 2.710, 6.459]})

print(df)

이제 [1, 2, 4]와 같은 목록으로 표시되는 특정 시퀀스 번호가 있는 행을 삭제한다고 가정합니다. 이렇게 하려면 다음과 같이 삭제 기능을 사용할 수 있습니다.

  1. 제거하려는 일련의 색인 레이블을 생성합니다.
indices_to_drop = [1, 2, 4]
  1. 또는 열을 기준으로 행을 삭제할 수도 있습니다. 조건:
conditions_to_drop = df['sales'] > 10
df = df[~conditions_to_drop]

drop에 인덱스 매개변수를 지정하면 제공된 인덱스에 해당하는 행을 효과적으로 제거하여 원하는 하위 집합만 남길 수 있습니다.

df = df.drop(index=indices_to_drop)
print(df)

이 경우 다음 데이터프레임이 생성됩니다.

                  sales  discount  net_sales    cogs
STK_ID RPT_Date                                     
600141 20060331   2.709       NaN      2.709   2.245
       20061231  15.915       NaN     15.915  12.686
       20070630   7.907       NaN      7.907   6.459
최신 튜토리얼 더>

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

Copyright© 2022 湘ICP备2022001581号-3