如何在Pandas中删除这些行?

时间:2017-03-29 17:55:00

标签: python pandas

我正在尝试删除我的pandas数据框中没有价格的行。从技术上讲,在数据源中,默认情况下会显示美元符号($) df1.dropna(subset=['Price ($)'], inplace = True)在我的案例中不起作用。如何删除没有附加价格的行。

import pandas as pd

first = pd.read_excel('......')
df1 = pd.DataFrame(first)

   Car                          Price ($)

   Honda                          $200
   Benz                           $             ----------> drop
   Chevy                          $300
   BMW                            $250
   Kia                            $             ----------> drop 

2 个答案:

答案 0 :(得分:3)

如果我理解正确,这应该有效:

first = first[first['Price ($)'] != '$']

这只保留了Price列不等于'$'

的行

答案 1 :(得分:1)

另一个答案将完美无缺,但这是另一种方法

df = df[df['Price ($)'].str.contains('\d+')]

这将确保您只获得价格列中可用数字价格的行。作为奖励,这也更快:)