python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Pandas异常值

Pandas异常值处理小结

作者:起名字真难.

在Pandas中,异常值是数据中那些与其他数据点显著不同的点本文主要介绍了Pandas异常值处理小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在Pandas中,异常值(或称为离群值)是数据中那些与其他数据点显著不同的点。这些异常值可能是由于错误、异常事件或数据的自然变异产生的。处理异常值的方法取决于数据的性质、分析的目的以及异常值对分析的影响。

在异常值处理的时候可能会用到的函数

①、describe():查看每一列的描述性统计量

②、df.info():查看数据信息

③、df.std():可以求得DataFrame对象每一列的标准差

④、df.drop():删除特定索引

⑤、unique():唯一,去重

⑥、query():按条件查询

⑦、df.sort_values():根据值排序

⑧、sort_index():根据索引排序...

1、describe()

   describe() 函数在 Pandas 中是一个用于生成 DataFrame 或 Series 中数值列统计摘要的便捷方法。它提供了丰富的描述性统计信息,帮助用户快速了解数据的分布情况。可以利用.T转置。

默认参数下的输出

默认情况下,describe() 函数会计算以下统计量(对于数值型):

import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'])
print(a.describe())

2、std

   DataFrame.std() 方法可以用来计算DataFrame对象每一列的标准差(standard deviation)。默认情况下,这个方法会忽略NaN值,只计算非空值的标准差。

import pandas as pd  
  
# 创建一个简单的DataFrame  
data = {  
    'A': [1, 2, 3, 4, 5],  
    'B': [10, 20, 30, 20, 50],  
    'C': [pd.np.nan, 2, 4, 4, 6]  # 包含NaN值  
}  
df = pd.DataFrame(data)  
  
# 计算每一列的标准差  
std_values = df.std()  
  
print(std_values)

3、drop

在Pandas中,DataFrame.drop() 方法用于删除行或列。这个方法非常有用,特别是当你需要清理数据或去除某些不需要的行/列时。

方法签名

DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False, level=None, errors='raise')

参数说明

import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'])
print(a.drop('a'))  # 默认的情况下删除一行
print(a.drop(0, axis=1)) # 删除一列

4、unique()

在Pandas中,unique() 是一个常用的方法,它主要用于获取Series对象列的唯一值(unique values)。这个方法返回一个NumPy数组,其中包含Series的唯一值。DataFrame没有unidue。

import pandas as pd
data = [[4, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'])
print(a[0].unique())

5、query()

在Pandas库中,query() 方法是DataFrame对象的一个功能强大的工具,用于根据特定的条件筛选和查询数据。以下是关于 query() 方法的详细解释:

1. 功能概述

2. 语法结构

DataFrame.query(expr, inplace=False, **kwargs)

import pandas as pd
data = [[4, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'], columns=list("ABC"))
print(a.query(' A== 4'))  # 把A == 4筛选出来
n = 4
print(a.query('A == @n'))  # 这里写一个@ 在能说明n为标量
# 这里的“ ” 里面可以有and or in ... 

3. 注意事项

6、df.sort_values()

在Pandas库中,DataFrame.sort_values() 方法是用于对DataFrame中的数据按照一个或多个列的值进行排序的。这个方法非常有用,特别是当你需要按照某个或某些列的值对数据进行排序以便进一步分析或可视化时。

方法签名

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)

参数说明

import pandas as pd
data = [[9, 2, 3], [4, 5, 6], [1, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'], columns=list("ABC"))
print(a.sort_values('A'))  # 默认的是升序
print(a.sort_values('A', ascending=False)) # 通过修改ascending=False 变为降序
print(a.sort_values('a', axis=1))

7、sort_index()

sort_index() 是 Pandas 库中 DataFrame 和 Series 对象的一个方法,用于根据索引值对数据进行排序。以下是关于 sort_index() 方法的详细解释:

方法功能

方法签名

DataFrame.sort_index(*, axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)

参数说明

axis

level

ascending

inplace

kind

na_position

sort_remaining

ignore_index

key

import pandas as pd
data = [[9, 2, 3], [4, 5, 6], [1, 8, 9]]
a = pd.DataFrame(data, index=['d', 'b', 'c'], columns=list("DBC"))
print(a.sort_index()) # 按照行索引排序
print(a.sort_index(axis=1))  # 按照列索引进行排序
li = [1, 2, 3]
b = pd.Series(li, index=['c', 'b', 'a'])
print(b.sort_index())

到此这篇关于Pandas异常值处理小结的文章就介绍到这了,更多相关Pandas异常值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文