網上關於dataframe刪除指定行的博文較少,看到一篇不錯的,轉載一下,原文地址:https://blog.csdn.net/shuihupo/article/details/82842524
遇到清洗數據的問題,需要把某一列數據中,那些為指定元素的數據,整行去除
嘗試了drop卻不能到達理想的效果,drop僅僅刪除了第一個。
isin效果理想。
-
import pandas
as pd
-
df = pd.DataFrame({
"key":[
'green',
'red',
'blue'],
-
"data1":[
'a',
'b',
'c'],
"sorce": [
33,
61,
99]})
-
data1 key sorce
-
0 a green
33
-
1 b red
61
-
2 c blue
99
-
mport pandas
as pd
-
df = pd.DataFrame({
"key":[
'green',
'red',
'blue'],
-
"data1":[
'a',
'b',
'c'],
"sorce": [
33,
61,
99]})
-
data1 = pd.concat([df,df],ignore_index=
True)
-
data2=data1[-data1.sorce.isin([
61])]
-
print(
"---------------")
-
print(data1)
-
print(
"---------------")
-
print(data2)
-
print(
"---------------")
-
data3=data1.drop(data1.ix[:,
'sorce']==
61)
-
print(data3)
-
---------------
-
data1 key sorce
-
0 a green
33
-
1 b red
61
-
2 c blue
99
-
3 a green
33
-
4 b red
61
-
5 c blue
99
-
---------------
-
data1 key sorce
-
0 a green
33
-
2 c blue
99
-
3 a green
33
-
5 c blue
99
-
---------------
-
data1 key sorce
-
2 c blue
99
-
3 a green
33
-
4 b red
61
-
5 c blue
99
-
-
Process finished
with exit code
0
data.name.isin([篩選元素])
對dataframe的某列(name為列名)進行篩選,加負號的原因是想刪除符合條件的行,不寫負號是篩選出符合條件的行