python三大库之---pandas(二)

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)

参数

  1. labels
    • 类型:数组或列表,默认为 None。
    • 描述:新的索引标签。
  2. index
    • 类型:数组或列表,默认为 None。
    • 描述:新的行索引标签。
  3. columns
    • 类型:数组或列表,默认为 None。
    • 描述:新的列索引标签。
  4. axis
    • 类型:整数或字符串,默认为 None。
    • 描述:指定重新索引的轴。0 或 'index' 表示行,1 或 'columns' 表示列。
  5. method
    • 类型:字符串,默认为 None。
    • 描述:用于填充缺失值的方法。可选值包括 'ffill'(前向填充)、'bfill'(后向填充)等。
  6. copy:
    • 类型:布尔值,默认为 True。
    • 描述:是否返回新的 DataFrame 或 Series。
  7. level:
    • 类型:整数或级别名称,默认为 None。
    • 描述:用于多级索引(MultiIndex),指定要重新索引的级别。
  8. fill_value
    • 类型:标量,默认为 np.nan。
    • 描述:用于填充缺失值的值。
  9. limit:
    • 类型:整数,默认为 None。
    • 描述:指定连续填充的最大数量。
  10. 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
相关推荐
Swift社区10 分钟前
Swift 解 LeetCode 250:搞懂同值子树,用递归写出权限系统检查器
开发语言·leetcode·swift
arbboter15 分钟前
【AI插件开发】Notepad++ AI插件开发实践(代码篇):从Dock窗口集成到功能菜单实现
人工智能·notepad++·cursor·notepad++插件开发·dock窗口集成·ai代码辅助工具·ai对话窗口
明月醉窗台19 分钟前
Qt 入门 3 之对话框 QDialog(1)
c语言·开发语言·c++·qt
云闲不收32 分钟前
golang 计时器内存泄露问题 与 pprof 性能分析工具
开发语言·后端·golang
HNU混子40 分钟前
手搓多模态-05 transformer编码层
人工智能·深度学习·transformer·编码器·激活函数·多模态大模型
骑牛小道士1 小时前
java基础使用- 泛型
java·开发语言
陈奕昆1 小时前
deepseek生成PPT 提示词模板
人工智能·powerpoint
L_cl1 小时前
【NLP 56、实践 ⑬ LoRA完成NER任务】
人工智能·自然语言处理
Chaos_Wang_1 小时前
NLP简介及其发展历史
人工智能·自然语言处理
C#沐清玄(编程小白)1 小时前
c#程序结构
开发语言·c#