数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)—Pandas—pandas进阶(十四)

简介: 你好,感谢你能点进来本篇博客,请不要着急退出,相信我,如果你有一定的 Python 基础,想要学习 Python数据分析的三大库:numpy,pandas,matplotlib;这篇文章不会让你失望,本篇博客是 【AIoT阶段一(下)】 的内容:Python数据分析,

3.2 数学和统计方法

🚩pandas对象拥有一组常用的数学和统计方法。它们属于汇总统计,对Series汇总计算获取mean、max值或者对DataFrame行、列汇总计算返回一个Series。

3.2.1 简单统计指标

创建数据:

import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.random.randint(0, 100,size = (20, 3)),
                  index = list('ABCDEFHIJKLMNOPQRSTU'),
                  columns = ['Python', 'Tensorflow', 'Keras'])
df

25.png

我们现在来把一部分数据设置为空:

def convert(x):
    if x > 80:
        return np.NaN
    else:
        return x
df['Python'] = df['Python'].map(convert)
df['Tensorflow'] = df['Tensorflow'].apply(convert)
df['Keras'] = df['Keras'].transform(convert)
df

26.png

现在我们想知道到底有多少个空数据,我们可以自己去数,但这显然是低效的方法,使用 count() 函数可以直接去统计有多少个非空数据:

df.count()  # 统计非空数据的个数

image.png

我们重新来构造数据:

import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.random.randint(0, 100,size = (20, 3)),
                  index = list('ABCDEFHIJKLMNOPQRSTU'),
                  columns = ['Python', 'Tensorflow', 'Keras'])
df

27.png

使用 median() 可以计算数据的中位数:

df.median()  # 中位数

image.png

display(df.quantile(q = 0.5)) # 返回位于数据 50% 位置的数
display(df.quantile(q = 0.8)) # 返回位于数据 80% 位置的数

image.png

我们也可以使用如下的方法实现同样的效果:

df.quantile(q = [0.5, 0.8])

image.png

3.2.2 索引标签、位置获取

display(df['Python'].argmin()) # 计算最小值位置
display(df['Keras'].argmax()) # 最大值位置

image.png

display(df.idxmax()) # 最大值索引标签
display(df.idxmin()) # 最小值索引标签

image.png

索引就是自然数,标签就是我们初始设置的 ABCD…,索引和标签是一一对应的,如 0 对应的就是 A

3.2.3 更多统计指标

创建数据:

import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.random.randint(0, 5,size = (20, 3)),
                  index = list('ABCDEFHIJKLMNOPQRSTU'),
                  columns = ['Python', 'Tensorflow', 'Keras'])
df

28.png

使用 value_counts() 可以统计元素出现的次数:

# 统计元素出现次数
df['Python'].value_counts()

image.png

使用 unique() 可以实现去重:

# 去重
df['Python'].unique()

image.png

调用 cumsum() 实现累加,调用 cumprod() 实现累乘:

# 累加
display(df.cumsum())
# 累乘
display(df.cumprod())

29.png

cummin() 的作用是累计最小值,即碰到更小的数后,该数往后所有数都变成这个更小的数,cummax() 的作用是累计最大值,即碰到更大的数后,该数往后所有的数都变成这个更大的数:

# 累计最小值
display(df.cummin())
# 累计最大值
display(df.cummax())

30.png

计算标准差调用 std(),计算方差调用 var()

# 计算标准差
display(df.std())
# 计算方差
display(df.var())

image.png

计算差分使用 diff(),差分就是这一行减上一行的结果,计算百分比的变化使用 pct_change():

# 计算差分
# 差分:和上一行相减
display(df.diff())
# 计算百分比变化
display(df.pct_change())

31.png

3.2.4 高级统计指标

我们使用 cov() 和 corr() 用来分别计算协方差和相关性系数:

协方差:image.png

相关性系数:image.png

# 属性的协方差
display(df.cov())
# Python和Keras的协方差
display(df['Python'].cov(df['Keras'])) 

image.png

# 所有属性相关性系数
display(df.corr())
# 单一属性相关性系数
display(df.corrwith(df['Tensorflow']))

image.png


目录
相关文章
|
1月前
|
数据挖掘 C语言 索引
数据分析-pandas(三)
在这里,我们将讨论pandas数据结构中常见的许多基本功能
17 0
|
1月前
|
数据挖掘 索引 Python
数据分析-pandas(一)
pandas是Python的一个第三方开源库,是Python数据分析的必备高级工具,Pandas 这个名字来源于面板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。在经济学中,Panel Data 是一个关于多维数据集的术语。Pandas 最初被应用于金融量化交易领域,现在它的应用领域更加广泛,涵盖了农业、工业、交通等许多行业。
34 0
|
2天前
|
数据采集 SQL 数据可视化
Python数据分析工具Pandas
【4月更文挑战第14天】Pandas是Python的数据分析库,提供Series和DataFrame数据结构,用于高效处理标记数据。它支持从多种数据源加载数据,包括CSV、Excel和SQL。功能包括数据清洗(处理缺失值、异常值)、数据操作(切片、过滤、分组)、时间序列分析及与Matplotlib等库集成进行数据可视化。其高性能底层基于NumPy,适合大型数据集处理。通过加载数据、清洗、分析和可视化,Pandas简化了数据分析流程。广泛的学习资源使其成为数据分析初学者的理想选择。
4 1
|
3天前
|
机器学习/深度学习 数据可视化 数据处理
Pandas进阶学习:探索更多高级特性与技巧
【4月更文挑战第16天】本文深入探讨Pandas的进阶特性,包括向量化操作、apply方法、数据重塑、布尔索引、多重索引、性能优化和库集成。通过学习,可以提升数据处理效率,如使用布尔条件筛选、CategoricalDtype优化性能、分块处理大数据及与NumPy、Matplotlib、Seaborn和scikit-learn集成。掌握这些技巧能助你更好地挖掘数据价值。
|
3天前
|
供应链 搜索推荐 数据挖掘
Pandas实战案例:电商数据分析的实践与挑战
【4月更文挑战第16天】本文通过一个电商数据分析案例展示了Pandas在处理销售数据、用户行为分析及商品销售趋势预测中的应用。在数据准备与清洗阶段,Pandas用于处理缺失值、重复值。接着,通过用户购买行为和商品销售趋势分析,构建用户画像并预测销售趋势。实践中遇到的大数据量和数据多样性挑战,通过分布式计算和数据标准化解决。未来将继续深入研究Pandas与其他先进技术的结合,提升决策支持能力。
|
3天前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。
|
10天前
|
数据采集 数据挖掘 数据处理
Pandas库在数据分析中的作用
【4月更文挑战第9天】Pandas,一个基于NumPy的数据分析Python库,以强大的数据处理和便捷的接口闻名。它包含两个核心数据结构:Series(一维标签数组)和DataFrame(二维表格)。Pandas支持数据导入/导出(如CSV、Excel),数据清洗(处理缺失值和重复值),描述性统计分析,分组聚合,以及与Matplotlib等库集成实现数据可视化。通过多索引和层次化索引,Pandas能灵活处理复杂数据集,是数据科学领域的关键工具。本文旨在帮助读者理解并运用Pandas进行高效数据分析。
|
1月前
|
SQL 数据挖掘 数据库管理
数据分析-pandas(二)
DataFrame是一个二维标记数据结构,其中包含可能不同类型的列。您可以将其视为电子表格或SQL表,或者Series对象的字典。它通常是最常用的pandas对象。与Series一样,DataFrame接受许多不同类型的输入: 一维ndarray,列表,字典,或字典的Series
27 0
|
12天前
|
人工智能 数据可视化 数据挖掘
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
|
4天前
|
Python 数据挖掘 存储
Python 数据分析(PYDA)第三版(七)(4)
Python 数据分析(PYDA)第三版(七)