"""
pandas对象装配了一个常用数学、统计学方法的集合。
其中大部分属于【归约】或【汇总统计】的类别,这些方法从DataFrame的行或列中抽取一个Series或一系列值得单个值(如总和或平均值)
与Numpy数组中的类似方法相比,它们内建了处理缺失值的功能
"""
import numpy as np
import pandas as pd
df_1 = pd.DataFrame([[1.1, 2.2, np.nan], [np.nan, 3.3, 4.4], [5.5, np.nan, 6.6]], columns=["One", "Two", "Three"],
index=["XiaoMing", "XiaoYing", "XiaoKe"])
print(df_1)
"""
One Two Three
XiaoMing 1.1 2.2 NaN
XiaoYing NaN 3.3 4.4
XiaoKe 5.5 NaN 6.6
"""
# ▶知识点1:调用DataFrame的sum方法返回一个包含【列】上【加和】的Series
print(df_1.sum())
"""
One 6.6
Two 5.5
Three 11.0
dtype: float64
"""
# ▶知识点2:传入axis="columns"或者axis=1,会将【一行上各个列的值相加】
print(df_1.sum(axis="columns"))
"""
XiaoMing 3.3
XiaoYing 7.7
XiaoKe 12.1
dtype: float64
"""
# ▶知识点3:【默认】情况下,NaN值是被【自动排除】的,可以通过设置【skipna=False】来实现【不排除NA值】
print(df_1.sum(axis=1, skipna=False))
"""
XiaoMing NaN
XiaoYing NaN
XiaoKe NaN
dtype: float64
"""
"""
# ▶知识点4:归约方法常用可选参数
方法 描述
-----------------------------------------------------------------------
axis 归约轴,0为行向,1为轴向
skipna 排除缺失值,默认为True
level 如果轴是多层索引的(MultiIndex),该参数可以缩减分组层级
"""
"""
▶知识点5:描述性统计和汇总统计
方法 描述
----------------------------------------------------------------------------------
count 非NA值的个数
describe 计算Series或DataFrame各列的汇总统计集合
min,max 计算最小值、最大值
argmin,argmax 分别计算最小值、最大值所在的索引位置(整数)
idxmin,idxmax 分别计算最小值、最大值所在的索引标签
quantile 计算样本的从0到1间的分位数
sum 加和
mean 均值
median 中位数
mad 平均值的平均绝对偏差
prod 所有值的积
var 值的样本方差
std 值得样本标准差
skew 样本偏度(第三时刻)值
kurt 样本峰度(第四时刻)值
cumsum 累计值
cummin,cummax 累计值的最小值、最大值
cumprod 值的累积
diff 计算第一个算术差值(对时间序列有用)
pct_change 计算百分比
"""
# 【idxmin】和【idxmax】返回的是间接统计信息,分别返回的是【最小值的索引标签】、【最大值的索引标签】
print(df_1.idxmin())
"""
One XiaoMing
Two XiaoMing
Three XiaoYing
dtype: object
"""
print(df_1.idxmax())
"""
One XiaoKe
Two XiaoYing
Three XiaoKe
dtype: object
"""
# cumsum() 累计值
print(df_1.cumsum())
"""
One Two Three
XiaoMing 1.1 2.2 NaN
XiaoYing NaN 5.5 4.4
XiaoKe 6.6 NaN 11.0
"""
# describe() 计算Series或DataFrame各列的汇总统计集合
print(df_1.describe())
"""
One Two Three
count 2.00000 2.000000 2.000000
mean 3.30000 2.750000 5.500000
std 3.11127 0.777817 1.555635
min 1.10000 2.200000 4.400000
25% 2.20000 2.475000 4.950000
50% 3.30000 2.750000 5.500000
75% 4.40000 3.025000 6.050000
max 5.50000 3.300000 6.600000
"""
# ▶知识点6:对于【非数值型数据】,describe产生另一种汇总统计
obj = pd.Series(["A", "B", "C"] * 3)
print(obj.describe())
"""
count 9
unique 3
top A
freq 3
dtype: object
"""
二、Pandas-13.描述性统计的概述与计算
最新推荐文章于 2024-06-13 23:02:27 发布