문제:
line_race라는 열이 있는 Pandas DataFrame을 고려해보세요. . 작업은 line_race 열의 값이 0과 같은 모든 행을 제거하는 것입니다.
효율적인 솔루션:
특정 열 값을 기준으로 행을 효율적으로 제거하려면 , 다음 단계를 따르세요.
Pandas 가져오기 라이브러리:
import pandas as pd
주어진 데이터로 DataFrame을 생성합니다.
data = { "line_race": [11, 11, 9, 10, 10, 9, 8, 9, 11, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "rating": [56, 67, 66, 83, 88, 52, 66, 70, 68, 72, 65, 70, 64, 70, 70, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1], "rw": [1.000000, 1.000000, 1.000000, 0.880678, 0.793033, 0.636655, 0.581946, 0.518825, 0.486226, 0.446667, 0.164591, 0.142409, 0.134800, 0.117803, 0.113758, 0.109852, 0.098919, 0.093168, 0.083063, 0.075171, 0.048690, 0.045404, 0.039679, 0.034160, 0.030915], "wrating": [56.000000, 67.000000, 66.000000, 73.096278, 69.786942, 33.106077, 38.408408, 36.317752, 33.063381, 32.160051, 10.698423, 9.968634, 8.627219, 8.246238, 7.963072, -0.109852, -0.098919, -0.093168, -0.083063, -0.075171, 3.359623, -0.045404, -0.039679, -0.034160, -0.030915], "line_date": ["2007-03-31", "2007-03-10", "2007-02-10", "2007-01-13", "2006-12-23", "2006-11-09", "2006-10-22", "2006-09-29", "2006-09-16", "2006-08-30", "2006-02-11", "2006-01-13", "2006-01-02", "2005-12-06", "2005-11-29", "2005-11-22", "2005-11-01", "2005-10-20", "2005-09-27", "2005-09-07", "2005-06-12", "2005-05-29", "2005-05-02", "2005-04-02", "2005-03-13", "2004-11-09"] } df = pd.DataFrame(data)
query() 메서드를 사용하여 DataFrame을 필터링합니다. 부울을 사용하는 것보다 빠릅니다. 인덱싱:
df_filtered = df.query("line_race != 0")
또는 inplace 매개변수가 True로 설정된 drop() 메서드를 사용할 수 있습니다.
df.drop(df.index[df['line_race'] == 0], inplace=True)
업데이트된 DataFrame에는 더 이상 line_race 열이 0인 행이 포함되지 않습니다.
위 내용은 열 값을 기반으로 Pandas DataFrame에서 행을 효율적으로 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!