Python酷库之旅-第三方库Pandas(050)

目录

一、用法精讲

181、pandas.Series.var方法

181-1、语法

181-2、参数

181-3、功能

181-4、返回值

181-5、说明

181-6、用法

181-6-1、数据准备

181-6-2、代码示例

181-6-3、结果输出

182、pandas.Series.kurtosis方法

182-1、语法

182-2、参数

182-3、功能

182-4、返回值

182-5、说明

182-6、用法

182-6-1、数据准备

182-6-2、代码示例

182-6-3、结果输出

183、pandas.Series.unique方法

183-1、语法

183-2、参数

183-3、功能

183-4、返回值

183-5、说明

183-6、用法

183-6-1、数据准备

183-6-2、代码示例

183-6-3、结果输出

184、pandas.Series.nunique方法

184-1、语法

184-2、参数

184-3、功能

184-4、返回值

184-5、说明

184-6、用法

184-6-1、数据准备

184-6-2、代码示例

184-6-3、结果输出

185、pandas.Series.is_unique属性

185-1、语法

185-2、参数

185-3、功能

185-4、返回值

185-5、说明

185-6、用法

185-6-1、数据准备

185-6-2、代码示例

185-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

181、pandas.Series.var方法
181-1、语法
# 181、pandas.Series.var方法
pandas.Series.var(axis=None, skipna=True, ddof=1, numeric_only=False, **kwargs)
Return unbiased variance over requested axis.

Normalized by N-1 by default. This can be changed using the ddof argument.

Parameters:
axis{index (0)}
For Series this parameter is unused and defaults to 0.

Warning

The behavior of DataFrame.var with axis=None is deprecated, in a future version this will reduce over both axes and return a scalar To retain the old behavior, pass axis=0 (or do not pass axis).

skipnabool, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.

ddofint, default 1
Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements.

numeric_onlybool, default False
Include only float, int, boolean columns. Not implemented for Series.

Returns:
scalar or Series (if level specified)
181-2、参数

181-2-1、axis(可选,默认值为None)用于指定计算沿哪个轴进行,对Series对象没有实际作用,因为Series是一维的。

181-2-2、skipna(可选,默认值为True)当skipna=True时,忽略缺失值(NaN)进行计算;如果skipna=False,则包含缺失值,如果有缺失值,结果将为NaN。

181-2-3、ddof(可选,默认值为1)自由度调整参数,ddof是“Delta Degrees of Freedom”的缩写,用于在方差计算公式中调整分母。

181-2-4、numeric_only(可选,默认值为False)如果为True,则只对数字数据进行计算,忽略非数字列。在Series中此参数通常无效,因为Series只有一维数据。

181-2-5、**kwargs(可选)其他关键字参数,为后续扩展功能做预留。

181-3、功能

        用于计算一维数据序列(Series)的样本方差,方差是度量数据集分散程度的统计指标,它表示数据点与均值之间的平均偏离程度的平方。

181-4、返回值

        返回一个浮点数,表示输入数据的样本方差,如果Series中所有值都为NaN,或者ddof参数的值大于非NaN值的数量,则返回NaN。

181-5、说明

        使用场景:

181-5-1、数据探索和预处理:在进行数据分析的初期,了解数据的分布和变异性是很重要的,通过计算方差,可以快速判断数据的离散程度,从而识别出数据中的异常值和极端值。

181-5-2、风险管理:在金融领域,方差常用于评估投资组合的风险。高方差意味着高风险,因为价格波动较大,通过计算投资组合中各资产的方差,可以更好地进行风险评估和管理。

181-5-3、质量控制:在制造业中,方差用于监控和控制产品质量。较低的方差表示产品的一致性较高,质量较稳定,通过定期计算生产数据的方差,可以及时发现生产过程中的问题。

181-5-4、教育评估:在教育领域,方差可以用来评估学生成绩的离散程度。较低的方差表示学生成绩较为集中,差距较小;较高的方差表示学生成绩差距较大。

181-5-5、科学研究:在科学研究中,方差用于分析实验数据的变异性。例如,在农业研究中,可以通过计算不同肥料处理的作物产量的方差,来评估肥料的效果。

181-6、用法
181-6-1、数据准备
181-6-2、代码示例
# 181、pandas.Series.var方法
# 181-1、数据探索和预处理
import pandas as pd
# 创建一个示例数据集
data = pd.Series([10, 12, 23, 23, 16, 23, 21, 16, 23, 21])
# 计算方差
variance = data.var()
print(f"数据的方差为: {variance}")

# 181-2、风险管理
import pandas as pd
# 创建一个包含股票回报率的Series
stock_returns = pd.Series([0.05, 0.02, 0.03, -0.02, 0.04, -0.01, 0.03])
# 计算股票回报率的方差
variance = stock_returns.var()
print(f"股票回报率的方差为: {variance}")

# 181-3、质量控制
import pandas as pd
# 创建一个包含产品重量的Series
product_weights = pd.Series([500, 502, 499, 501, 500, 498, 500])
# 计算产品重量的方差
variance = product_weights.var()
print(f"产品重量的方差为: {variance}")

# 181-4、教育评估
import pandas as pd
# 创建一个包含学生考试成绩的Series
student_scores = pd.Series([85, 88, 90, 92, 87, 85, 91])
# 计算学生考试成绩的方差
variance = student_scores.var()
print(f"学生考试成绩的方差为: {variance}")

# 181-5、科学研究
import pandas as pd
# 创建一个包含不同肥料处理的作物产量的Series
crop_yields = pd.Series([300, 320, 310, 305, 315, 300, 310])
# 计算作物产量的方差
variance = crop_yields.var()
print(f"作物产量的方差为: {variance}")
181-6-3、结果输出
# 181、pandas.Series.var方法
# 181-1、数据探索和预处理
# 数据的方差为: 24.4

# 181-2、风险管理
# 股票回报率的方差为: 0.0006666666666666669

# 181-3、质量控制
# 产品重量的方差为: 1.6666666666666667

# 181-4、教育评估
# 学生考试成绩的方差为: 7.904761904761904

# 181-5、科学研究
# 作物产量的方差为: 55.952380952380956
182、pandas.Series.kurtosis方法
182-1、语法
# 182、pandas.Series.kurtosis方法
pandas.Series.kurtosis(axis=0, skipna=True, numeric_only=False, **kwargs)
Return unbiased kurtosis over requested axis.

Kurtosis obtained using Fisher’s definition of kurtosis (kurtosis of normal == 0.0). Normalized by N-1.

Parameters:
axis{index (0)}
Axis for the function to be applied on. For Series this parameter is unused and defaults to 0.

For DataFrames, specifying axis=None will apply the aggregation across both axes.

New in version 2.0.0.

skipnabool, default True
Exclude NA/null values when computing the result.

numeric_onlybool, default False
Include only float, int, boolean columns. Not implemented for Series.

**kwargs
Additional keyword arguments to be passed to the function.

Returns:
scalar or scalar
182-2、参数

182-2-1、axis(可选,默认值为0)指定计算沿着的轴,对于Series,这个参数没有实际作用,因为Series是一维的;对于DataFrame,0表示沿着列计算,1表示沿着行计算。

182-2-2、skipna(可选,默认值为True)指定是否忽略缺失值,如果为True,将会跳过NaN值;如果为False,任何NaN值都会导致结果为NaN。

182-2-3、numeric_only(可选,默认值为False)如果为True,只包括数值类型的列,如果为None,尝试包括所有数据类型,但在数据类型不支持计算时会导致错误。

182-2-4、**kwargs(可选)可以接受并传递到其他函数中的额外关键字参数,通常在用户需要进行更高级的自定义时使用。

182-3、功能

        用于计算数据的峰度(Kurtosis),也称为“超额峰度”,它衡量数据分布的形态与正态分布相比的陡峭程度。具体来说,峰度值可以描述数据分布在其平均值周围的形状特性:

182-3-1、正峰度(Kurtosis > 0):表示分布在中心附近有更多高峰值,比正态分布更陡峭。

182-3-2、负峰度(Kurtosis < 0):表示分布在中心附近有更多平坦值,比正态分布更平缓。

182-3-3、零峰度(Kurtosis = 0):表示分布与正态分布相同。

182-4、返回值

        返回一个浮点数,表示计算得到的峰度值,如果Series为空或者全是NaN值,返回NaN。

182-5、说明

        使用场景:

182-5-1、数据分布分析:了解数据分布的形态,识别异常值或极端值的存在。例如,分析学生考试成绩的分布情况,识别是否存在大量的高分或低分。

182-5-2、金融数据分析:评估资产收益分布的风险特性,高峰度意味着更高的风险,因为极端收益的可能性较大。例如,分析股票回报率,识别是否有极端的收益或亏损。

182-5-3、风险管理:评估和管理风险时,理解数据分布的形态可以帮助识别潜在的高风险区域。例如,保险公司分析索赔金额的分布,识别高额索赔的可能性。

182-5-4、正态性检验:检验数据是否符合正态分布,正态分布的峰度值接近0。例如,分析实验数据,检验其是否符合正态分布以决定后续的统计分析方法。

182-5-5、品质控制:在制造业和品质控制中,分析产品测量数据的分布形态,识别是否存在批次间的差异或异常。例如,分析产品的尺寸测量数据,识别生产过程中的异常情况。

182-5-6、生态学和生物学:研究动物体重、植物高度等生物数据的分布,识别极端值的存在。例如,分析某种动物的体重数据,识别是否存在明显的肥胖或瘦弱个体。

182-6、用法
182-6-1、数据准备
182-6-2、代码示例
# 182、pandas.Series.kurtosis方法
# 182-1、数据分布分析
import pandas as pd
scores = pd.Series([65, 70, 75, 80, 85, 90, 95, 100, 105, 110])
kurtosis = scores.kurtosis()
print(f"考试成绩的峰度为: {kurtosis}")

# 182-2、金融数据分析
import pandas as pd
returns = pd.Series([0.01, 0.02, -0.01, 0.03, 0.05, -0.02, 0.04, 0.06, -0.03, 0.02])
kurtosis = returns.kurtosis()
print(f"股票回报率的峰度为: {kurtosis}")

# 182-3、风险管理
import pandas as pd
claims = pd.Series([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000])
kurtosis = claims.kurtosis()
print(f"索赔金额的峰度为: {kurtosis}")

# 182-4、正态性检验
import pandas as pd
import numpy as np
data = pd.Series(np.random.normal(0, 1, 1000))
kurtosis = data.kurtosis()
print(f"实验数据的峰度为: {kurtosis}")

# 182-5、品质控制
import pandas as pd
measurements = pd.Series([15.5, 15.7, 15.6, 15.8, 15.7, 15.9, 16.0, 15.6, 15.8, 15.7])
kurtosis = measurements.kurtosis()
print(f"产品尺寸测量数据的峰度为: {kurtosis}")

# 182-6、生态学和生物学
import pandas as pd
weights = pd.Series([45, 50, 55, 60, 65, 70, 75, 80, 85, 90])
kurtosis = weights.kurtosis()
print(f"动物体重数据的峰度为: {kurtosis}")
182-6-3、结果输出
# 182、pandas.Series.kurtosis方法
# 182-1、数据分布分析
# 考试成绩的峰度为: -1.2000000000000002

# 182-2、金融数据分析
# 股票回报率的峰度为: -0.9774499371772465

# 182-3、风险管理
# 索赔金额的峰度为: -1.2000000000000002

# 182-4、正态性检验
# 实验数据的峰度为: 0.10963819497124572

# 182-5、品质控制
# 产品尺寸测量数据的峰度为: -0.15179963720841272

# 182-6、生态学和生物学
# 动物体重数据的峰度为: -1.2000000000000002
183、pandas.Series.unique方法
183-1、语法
# 183、pandas.Series.unique方法
pandas.Series.unique()
Return unique values of Series object.

Uniques are returned in order of appearance. Hash table-based unique, therefore does NOT sort.

Returns:
ndarray or ExtensionArray
The unique values returned as a NumPy array. See Notes.
183-2、参数

        无

183-3、功能

        用于返回系列中唯一值的NumPy数组。

183-4、返回值

        返回一个包含系列中所有唯一值的 NumPy 数组,这些值的顺序与它们在系列中首次出现的顺序一致。

183-5、说明

        使用场景:

183-5-1、数据去重:从数据集中提取唯一值,以便后续分析或处理。例如,提取一组客户ID中的唯一值。

183-5-2、类别数据分析:分析分类变量中的不同类别。例如,提取一组产品类型中的所有不同类型。

183-5-3、识别异常值:通过查看唯一值识别数据中的异常或错误值。例如,检查年龄数据中的异常值。

183-5-4、数据清洗:在数据清洗过程中,识别并处理重复或冗余数据。例如,清洗客户订单数据,提取唯一的订单编号。

183-5-5、数据转换:将序列转换为唯一值的数组,用于进一步的计算或转换。例如,提取唯一的城市名称并进行进一步分析。

183-5-6、性能优化:在处理大型数据集时,先提取唯一值可以提高计算效率。例如,处理大规模交易数据时,提取唯一的交易类型。

183-6、用法
183-6-1、数据准备
183-6-2、代码示例
# 183、pandas.Series.unique方法
# 183-1、数据去重
import pandas as pd
customer_ids = pd.Series([101, 102, 103, 101, 104, 102, 105])
unique_customer_ids = customer_ids.unique()
print(f"唯一的客户ID: {unique_customer_ids}")

# 183-2、类别数据分析
import pandas as pd
product_types = pd.Series(['电子产品', '家居用品', '服装', '电子产品', '食品', '家居用品'])
unique_product_types = product_types.unique()
print(f"唯一的产品类型: {unique_product_types}")

# 183-3、识别异常值
import pandas as pd
ages = pd.Series([25, 30, 35, 40, 45, 30, 1000])
unique_ages = ages.unique()
print(f"唯一的年龄值: {unique_ages}")

# 183-4、数据清洗
import pandas as pd
order_numbers = pd.Series(['A001', 'A002', 'A003', 'A001', 'A004', 'A002'])
unique_order_numbers = order_numbers.unique()
print(f"唯一的订单编号: {unique_order_numbers}")

# 183-5、数据转换
import pandas as pd
cities = pd.Series(['北京', '上海', '广州', '北京', '深圳', '上海'])
unique_cities = cities.unique()
print(f"唯一的城市名称: {unique_cities}")

# 183-6、性能优化
import pandas as pd
transaction_types = pd.Series(['购买', '出售', '退款', '购买', '出售', '转账'])
unique_transaction_types = transaction_types.unique()
print(f"唯一的交易类型: {unique_transaction_types}")
183-6-3、结果输出
# 183、pandas.Series.unique方法
# 183-1、数据去重
# 唯一的客户ID: [101 102 103 104 105]

# 183-2、类别数据分析
# 唯一的产品类型: ['电子产品' '家居用品' '服装' '食品']

# 183-3、识别异常值
# 唯一的年龄值: [  25   30   35   40   45 1000]

# 183-4、数据清洗
# 唯一的订单编号: ['A001' 'A002' 'A003' 'A004']

# 183-5、数据转换
# 唯一的城市名称: ['北京' '上海' '广州' '深圳']

# 183-6、性能优化
# 唯一的交易类型: ['购买' '出售' '退款' '转账']
184、pandas.Series.nunique方法
184-1、语法
# 184、pandas.Series.nunique方法
pandas.Series.nunique(dropna=True)
Return number of unique elements in the object.

Excludes NA values by default.

Parameters:
dropna
bool, default True
Don’t include NaN in the count.

Returns:
int
184-2、参数

184-2-1、dropna(可选,默认值为True)布尔值,如果为True,则排除缺失值(NaN);如果为False,则包括缺失值在内。

184-3、功能

        计算系列中唯一值的数量,该方法可以选择性地包含或排除缺失值(如NaN)。

184-4、返回值

        返回系列中唯一值的数量,类型为整数。

184-5、说明

        该方法在许多数据分析任务中都非常有用。例如,在数据预处理阶段,可以用它来检查分类变量的不同类别数量,或者在数据清洗过程中,快速了解数据集中有多少不同的值。

184-6、用法
184-6-1、数据准备
184-6-2、代码示例
# 184、pandas.Series.nunique方法
import pandas as pd
# 创建一个包含重复值和缺失值的系列
data = pd.Series([1, 2, 2, 3, 4, 4, 5, None, None])
# 计算唯一值的数量,排除缺失值
unique_count = data.nunique()
# 打印唯一值的数量
print(f"唯一值的数量(排除缺失值): {unique_count}")
# 计算唯一值的数量,包括缺失值
unique_count_including_nan = data.nunique(dropna=False)
# 打印唯一值的数量(包括缺失值)
print(f"唯一值的数量(包括缺失值): {unique_count_including_nan}")
184-6-3、结果输出
# 184、pandas.Series.nunique方法
# 唯一值的数量(排除缺失值): 5
# 唯一值的数量(包括缺失值): 6
185、pandas.Series.is_unique属性
185-1、语法
# 185、pandas.Series.is_unique属性
property pandas.Series.is_unique
Return boolean if values in the object are unique.

Returns:
bool
185-2、参数

        无

185-3、功能

        用于判断系列中的值是否唯一。

185-4、返回值

        返回一个布尔值,如果系列中的所有值都是唯一的(即没有重复值),is_unique返回True如果系列中存在重复值,is_unique返回False。

185-5、说明

        在数据分析过程中,is_unique属性可以用来快速检查数据的唯一性,例如验证主键列的唯一性、检查分类变量是否有重复类别等。

185-6、用法
185-6-1、数据准备
185-6-2、代码示例
# 185、pandas.Series.is_unique属性
import pandas as pd
# 创建一个系列,没有重复值
data_unique = pd.Series([3, 5, 6, 8, 10, 11, 24])
# 判断系列中的值是否唯一
is_unique = data_unique.is_unique
print(f"系列值是否唯一: {is_unique}")
# 创建一个系列,有重复值
data_not_unique = pd.Series([3, 5, 6, 8, 10, 10, 11, 24])
# 判断系列中的值是否唯一
is_unique = data_not_unique.is_unique
print(f"系列值是否唯一: {is_unique}")
185-6-3、结果输出
# 185、pandas.Series.is_unique属性
# 系列值是否唯一: True
# 系列值是否唯一: False

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇夜光杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值