我尝试了丢弃熊猫的方法,但我没有使用它。我在代码块中提到了我的特定行。我抓住了我的名字' 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")
答案 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)