二、函数
1、常用的统计学函数
函数名称 | 描述说明 |
---|---|
count() | 统计某个非空值的数量 |
sum() | 求和 |
mean() | 求均值 |
median() | 求中位数 |
std() | 求标准差 |
min() | 求最小值 |
max() | 求最大值 |
abs() | 求绝对值 |
prod() | 求所有数值的乘积 |
案例:
# 创建一个示例 DataFrame
data = {
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data)
# 计算每列的均值
mean_values = df.mean()
print(mean_values)
# 计算每列的中位数
median_values = df.median()
print(median_values)
#计算每列的方差
var_values = df.var()
print(var_values)
# 计算每列的标准差
std_values = df.std()
print(std_values)
# 计算每列的最小值
min_values = df.min()
print("最小值:")
print(min_values)
# 计算每列的最大值
max_values = df.max()
print("最大值:")
print(max_values)
# 计算每列的总和
sum_values = df.sum()
print(sum_values)
# 计算每列的非空值数量
count_values = df.count()
print(count_values)
注意:numpy的方差默认为总体方差,pandas默认为样本方差
总体方差:
σ 2 = 1 N ∑ i = 1 N ( X i − μ ) 2 σ^2=\dfrac{1}{N}∑_{i=1}^N(X_i−μ)^2 σ2=N1i=1∑N(Xi−μ)2
样本方差:
s 2 = 1 N − 1 ∑ i = 1 N ( X i − X ‾ ) 2 s^2=\dfrac{1}{N-1}∑_{i=1}^N(X_i−\overline X)^2 s2=N−11i=1∑N(Xi−X)2
分母为n-1的样本方差的期望等于总体的方差,因此样本方差是总体方差的无偏估计。
2、重置索引
重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行、列标签与 DataFrame 中的数据逐一匹配。通过重置索引操作,您可以完成对现有数据的重新排序。如果重置的索引标签在原 DataFrame 中不存在,那么该标签对应的元素值将全部填充为 NaN。
2.1 reindex
reindex() 方法用于重新索引 DataFrame 或 Series 对象。重新索引意味着根据新的索引标签重新排列数据,并填充缺失值。如果重置的索引标签在原 DataFrame 中不存在,那么该标签对应的元素值将全部填充为 NaN。
语法:
DataFrame.reindex(labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None, fill_value=np.nan, limit=None, tolerance=None)
参数:
- labels:
- 类型:数组或列表,默认为 None。
- 描述:新的索引标签。
- index:
- 类型:数组或列表,默认为 None。
- 描述:新的行索引标签。
- columns:
- 类型:数组或列表,默认为 None。
- 描述:新的列索引标签。
- axis:
- 类型:整数或字符串,默认为 None。
- 描述:指定重新索引的轴。0 或 ‘index’ 表示行,1 或 ‘columns’ 表示列。
- method:
- 类型:字符串,默认为 None。
- 描述:用于填充缺失值的方法。可选值包括 ‘ffill’(前向填充)、‘bfill’(后向填充)等。
- copy:
- 类型:布尔值,默认为 True。
- 描述:是否返回新的 DataFrame 或 Series。
- level:
- 类型:整数或级别名称,默认为 None。
- 描述:用于多级索引(MultiIndex),指定要重新索引的级别。
- fill_value:
- 类型:标量,默认为 np.nan。
- 描述:用于填充缺失值的值。
- limit:
- 类型:整数,默认为 None。
- 描述:指定连续填充的最大数量。
- tolerance:
- 类型:标量或字典,默认为 None。
- 描述:指定重新索引时的容差。
案例:
# 创建一个示例 DataFrame
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
# 重新索引行
new_index = ['a', 'b', 'c'