在使用dataframe处理数据的时候碰到了按照条件选取行的问题,单个条件时可以使用:
df[df['one'] > 5]
如果多个条件的话需要这么写:
import numpy as np
df[np.logical_and(df['one']> 5,df['two']>5)]
也可以这么写
df[(df['one']> 5) & (df['two']>5)]
今天还是用到了DataFrame,如果你用一下它的筛选数据的功能,你会大吃一惊,它非常擅长筛选数据,可以极大提高你的工作效率,废话不多说,下面看看几个进行复杂数据筛选的例子。
首先我们创建一个DataFrame,该DataFrame包含的数据如下
假如我们想要筛选D列数据中大于0的行
使用&符号可以实现多条件筛选,当然是用"|"符号也可以实现多条件,只不过他是或的关系。
假如我们只需要A和B列数据,而D和C列数据都是用于筛选的,可以这样写:只返回了AB两列数据‘
我们以上用到的方法都是通过一个布尔索引完成的,我们看一下这样的运算返回的值是什么
我们还可以使用insin方法来筛选特定的值,把要筛选的值写到一个列表里,如alist
假如选择D列数据中,有alist中的值的行