Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deleting DataFrame row in Pandas based on column value

Tags:

python

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?

like image 696
TravisVOX Avatar asked Aug 11 '13 14:08

TravisVOX


People also ask

How do I delete rows in pandas DataFrame based on condition?

Use pandas. DataFrame. drop() method to delete/remove rows with condition(s).

How do you drop rows with certain values?

One of the fastest ways to delete rows that contain a specific value or fulfill a given condition is to filter these. Once you have the filtered data, you can delete all these rows (while the remaining rows remain intact).

How do you drop a row from a specific value in Python?

To drop rows based on certain conditions, select the index of the rows which pass the specific condition and pass that index to the drop() method. In this code, (df['Unit_Price'] >400) & (df['Unit_Price'] < 600) is the condition to drop the rows.


1 Answers

If I'm understanding correctly, it should be as simple as:

df = df[df.line_race != 0] 
like image 180
tshauck Avatar answered Sep 23 '22 10:09

tshauck