删除Pandas中的特定行

时间:2017-03-31 08:35:22

标签: python pandas

我尝试了丢弃熊猫的方法,但我没有使用它。我在代码块中提到了我的特定行。我抓住了我的名字' Name'专栏。如何用python删除pandas中的特定行?

e.g: -

我的具体行是=>姓名:Bertug等级:年龄:15

import pandas as pd , re , string


dataFrame = pd.read_excel("C:\\Users\\Bertug\\Desktop\\example.xlsx")

def vowelCount(s):
   chars = set("aeiouAEIOU")
   for char in s:
       num_vowels = 0
       for ch in char:
           if any((c in chars) for c in ch):
               num_vowels = num_vowels + 1 
           else :
               num_vowels = num_vowels
       if num_vowels == 0:
           print("I have to remove this row in here") 

3 个答案:

答案 0 :(得分:3)

df = pd.DataFrame([['Jhon',15,'A'],['Anna',19,'B'],['Paul',25,'D']])
df. columns = ['Name','Age','Grade']

df
Out[472]: 
   Name  Age Grade
0  Jhon   15     A
1  Anna   19     B
2  Paul   25     D

您可以获取行的索引:

i = df[((df.Name == 'jhon') &( df.Age == 15) & (df.Grade == 'A'))].index

然后放弃它:

df.drop(i)
Out[474]: 
   Name  Age Grade
1  Anna   19     B
2  Paul   25     D

正如@jezrael指出的那样,你也可以否定所有三个:

df[((df.Name != 'jhon') &( df.Age != 15) & (df.Grade != 'A'))]
Out[477]: 
   Name  Age Grade
1  Anna   19     B
2  Paul   25     D

答案 1 :(得分:1)

您可以只使用:

df.drop([a,b,c])

其中a,b,c是索引或行号的列表。

仅删除一个特定的行

df.drop(i)

其中i是索引或行号。

答案 2 :(得分:0)

数据集= dataset.drop('列名',1)