티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Deleting DataFrame row in Pandas based on column value
열 값을 기준으로 Pandas의 데이터프레임 행 삭제
문제 내용
I have the following DataFrame:
다음과 같은 데이터 프레임이 있습니다.
daysago line_race rating rw wrating
line_date
2007-03-31 62 11 56 1.000000 56.000000
2007-03-10 83 11 67 1.000000 67.000000
2007-02-10 111 9 66 1.000000 66.000000
2007-01-13 139 10 83 0.880678 73.096278
2006-12-23 160 10 88 0.793033 69.786942
2006-11-09 204 9 52 0.636655 33.106077
2006-10-22 222 8 66 0.581946 38.408408
2006-09-29 245 9 70 0.518825 36.317752
2006-09-16 258 11 68 0.486226 33.063381
2006-08-30 275 8 72 0.446667 32.160051
2006-02-11 475 5 65 0.164591 10.698423
2006-01-13 504 0 70 0.142409 9.968634
2006-01-02 515 0 64 0.134800 8.627219
2005-12-06 542 0 70 0.117803 8.246238
2005-11-29 549 0 70 0.113758 7.963072
2005-11-22 556 0 -1 0.109852 -0.109852
2005-11-01 577 0 -1 0.098919 -0.098919
2005-10-20 589 0 -1 0.093168 -0.093168
2005-09-27 612 0 -1 0.083063 -0.083063
2005-09-07 632 0 -1 0.075171 -0.075171
2005-06-12 719 0 69 0.048690 3.359623
2005-05-29 733 0 -1 0.045404 -0.045404
2005-05-02 760 0 -1 0.039679 -0.039679
2005-04-02 790 0 -1 0.034160 -0.034160
2005-03-13 810 0 -1 0.030915 -0.030915
2004-11-09 934 0 -1 0.016647 -0.016647
I need to remove the rows where line_race
is equal to 0
. What's the most efficient way to do this?
line_race가 0인 행을 제거해야 합니다. 이것을 하는 가장 효율적인 방법은 무엇입니까?
높은 점수를 받은 Solution
If I'm understanding correctly, it should be as simple as:
제가 올바르게 이해하고 있다면, 다음과 같이 간단해야 합니다.
df = df[df.line_race != 0]
가장 최근 달린 Solution
Just in case you need to delete the row, but the value can be in different columns. In my case I was using percentages so I wanted to delete the rows which has a value 1 in any column, since that means that it's the 100%
행을 삭제해야 하지만 값이 다른 열에 있을 수도 있습니다. 내 경우에는 백분율을 사용하고 있었기 때문에 열에 값이 1인 행을 삭제하려고 했습니다. 100%라는 것을 의미하기 때문입니다.
for x in df:
df.drop(df.loc[df[x]==1].index, inplace=True)
Is not optimal if your df have too many columns.
df에 열이 너무 많으면 최적이 아닙니다.
출처 : https://stackoverflow.com/questions/18172851/deleting-dataframe-row-in-pandas-based-on-column-value
'개발 > 파이썬' 카테고리의 다른 글
파일이 비어 있는지 확인하기 (0) | 2022.12.13 |
---|---|
특정 파일의 변경(수정) 감지하기 (0) | 2022.12.12 |
collections.defaultdict() 활용법 (0) | 2022.12.12 |
파이썬2에서 dict.items()와 dict.iteritems()의 차이점 (0) | 2022.12.12 |
두 개의 리스트를 비교하면서 한번에 순회하는 방법 (0) | 2022.12.12 |