티스토리 뷰

반응형

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

반응형
댓글
공지사항
최근에 올라온 글