python pandas如何过滤剔除数据?






我有一个只有几列的熊猫数据框。 现在我知道某些行是基于某个列值的异常值。 例如,列-'Vol'具有12.xx左右的所有值和4000的值 现在我想排除那些具有Vol Column的行。 所以基本上我需要设置一个过滤器,以便我们选择某个列的值在所有行内的所有行与平均值相差3个标准偏差。 什么是实现这一点的优雅方式。…



那样提供数组。 那么我该…



我不想在饼图中显示0%的值,我得到了一个解决方…




}

  DataFrame对象的duplicated()函数可用来检测重复的行,返回元素为布尔型的Series对象。 每个元素对

应一行,如果该行与其他行重复(也就是说该行不是第一次出现),则元素为True; 如果跟前面不重复,则元

  返回元素为布尔值的Series对象用处很大,特别适用于过滤操作。通常,所有重复的行都需要从DataFrame

对象中删除。pandas库的drop_duplicates()函数实现了删除功能,该函数返回的是删除重复行后的DataFmme对

4 # 返回元素为布尔值的Series对象用处很大,特别适用于过滤操作。

  要用新元素替换不正确的元素,需要定义一组映射关系。在映射关系中,旧元素作为键,新元素作为值。

  DataFrame对象中两种旧颜色被替换为正确的元素。还有一种常见情况,是把NaN替换为其他值,比如0。

这种情况下,仍然可以用replace()函数,它能优雅地完成该项操作。

  下面只是部分功能的展示,详情请参考。

5 # r'^ba.$'是匹配最后三个字符中前面量为ba的;$匹配结尾的

  输出结果:(上面关于正则的知识点请)

   对于只有单个元素要替换的最简单情况,可以对传入的参数做进一步限定,而无需把多个变 量都写出来,

也避免产生多次赋值操作。对于多个元素替换最好用字典先写好。

  离散化和面元划分

   每个面元的出现次数,即每个类别有多少个元素,可使用value_counts()函数。

   cut 是等差划分面元, qcut 是根据分位数划分面元。

19 # 基于分位数的离散化函数。将变量离散成 20 # 基于等级或基于样本分位数的相等大小的面元。

  异常值检测和过滤

  假设将比标准差大3倍的元素视作异常值。用std()函数就可以求得DataFrame对象每一列的标准差。

}

我要回帖

更多关于 pandas筛选重复数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信