问题介绍
python中删除表格中常用的方法是DataFrame.drop()函数,DataFrame.drop()常用的操作是删除一整行或者删除某一整列。对于删除某一列满足条件的所有行操作暂不支持;
下面给大家介绍另外一个方法,支持删除和筛选数据;
data.name.isin([筛选元素]);
data:原始数据集
name:列名称
筛选元素:该列满足的条件值;
操作示例
1、 删除某一列满足条件的所有行
导入数据
import pandas as pd
import numpy as np
iris_data = pd.read_csv("iris.csv",header=0,names = ["花萼长度", "花萼宽度", "花瓣长度", "花瓣宽度", "类别"], # header=0 表示只对第一行进行处理
encoding = 'gbk');
DataFrame1 = iris_data[:10].copy() # 建立数据副本,以便多次修改
DataFrame1
删除满足条件的行
data2=DataFrame1[-DataFrame1.花萼长度.isin([4.9])] #删除花萼长度列 = 4.9 的所有行
data2
可以看到,所有花萼长度= 4.9 的行均被删除了;
2、 筛选某一列满足条件的所有行
导入数据
import pandas as pd
import numpy as np
iris_data = pd.read_csv("iris.csv",header=0,names = ["花萼长度", "花萼宽度", "花瓣长度", "花瓣宽度", "类别"], # header=0 表示只对第一行进行处理
encoding = 'gbk');
DataFrame1 = iris_data[:10].copy() # 建立数据副本,以便多次修改
DataFrame1
筛选出满足条件的行
data2=DataFrame1[DataFrame1.花萼长度.isin([4.9])] #删除花萼长度列 = 4.9 的所有行
data2
可以看到,所有花萼长度= 4.9 的行均被筛选出来了;