python三大库之---pandas(二)
文章目录
六,函数
6.1、常用的统计学函数
函数名称 | 描述说明 |
---|---|
count() | 统计某个非空值的数量 |
sum() | 求和 |
mean() | 求均值 |
median() | 求中位数 |
std() | 求标准差 |
min() | 求最小值 |
max() | 求最大值 |
abs() | 求绝对值 |
prod() | 求所有数值的乘积 |
numpy的方差默认为总体方差,pandas默认为样本方差
bash
#常用的统计学函数
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
print(df.mean())#计算均值
print(df.median())#计算中位数
print(df.mode())#计算众数
print(df.var())#计算方差
print(df.std())#计算标准差
print(df.sum())#计算总和
print(df.min())#计算最小值
print(df.max())#计算最大值
print(df.count())#计算非空值的个数
print(df.prod())#计算乘积
print(df.abs())#计算绝对值
A 2.5
B 6.5
C 10.5
dtype: float64
A 2.5
B 6.5
C 10.5
dtype: float64
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
A 1.666667
B 1.666667
C 1.666667
dtype: float64
A 1.290994
B 1.290994
C 1.290994
dtype: float64
A 10
B 26
C 42
dtype: int64
A 1
B 5
C 9
dtype: int64
A 4
B 8
C 12
dtype: int64
A 4
B 4
C 4
dtype: int64
A 24
B 1680
C 11880
dtype: int64
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
6.2重置索引
重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行、列标签与 DataFrame 中的数据逐一匹配。通过重置索引操作,您可以完成对现有数据的重新排序。如果重置的索引标签在原 DataFrame 中不存在,那么该标签对应的元素值将全部填充为 NaN。
reindex
reindex() 方法用于重新索引 DataFrame 或 Series 对象。重新索引意味着根据新的索引标签重新排列数据,并填充缺失值。如果重置的索引标签在原 DataFrame 中不存在,那么该标签对应的元素值将全部填充为 NaN。
- 语法
bash
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。
- 描述:指定重新索引时的容差。
- 重置索引行
bash
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data,index=['a','b','c','d'])
#重置索引行
new_index = ['a','b','c','d','e']
print(df.reindex(new_index))#重置索引
bash
A B C
a 1.0 5.0 9.0
b 2.0 6.0 10.0
c 3.0 7.0 11.0
d 4.0 8.0 12.0
e NaN NaN NaN
- 重置索引列
bash
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data,index=['a','b','c','d'])
#重置索引列
new_columns = ['A','B','C','D']
print(df.reindex(columns=new_columns))
bash
A B C D
a 1 5 9 NaN
b 2 6 10 NaN
c 3 7 11 NaN
d 4 8 12 NaN
- 重置索引行,并使用向前填充
bash
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data,index=['a','b','c','d'])
#重置索引行,并使用向前填充
new_index = ['a','b','c','d','e']
print(df.reindex(new_index,method='ffill'))
A B C
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
e 4 8 12
- 重置索引行,并使用指定值填充
bash
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data,index=['a','b','c','d'])
#重置索引行,并使用指定值填充
new_index = ['a','b','c','d','e']
print(df.reindex(new_index,method='ffill',fill_value=0))
A B C
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
e 4 8 12