pandas库的数据类型操作、运算

数据类型操作:

  • 增加、重排:重新索引.reindex()
  • 删除:drop

增加、重排

.reindex(index=None, columns=None, …)

参数 说明
index, columns 新的行列自定义索引
fill_value 重新索引中,用于填充缺失位置(NaN)的值
method 填充方法, ffill当前值向前填充,bfill向后填充
limit 最大填充量
copy 默认True,生成新的对象,False时,新旧相等不复制

索引类型:Index类型

Index对象是不可修改类型(一维)
常用操作

方法 说明
.append(idx) 连接另一个Index对象,产生新的Index对象
.diff(idx) 计算差集,产生新的Index对象
.intersection(idx) 计算交集
.union(idx) 计算并集
.delete(loc) 删除loc位置处的元素并生成一个新的index对象
.insert(loc,e) 在loc位置增加一个元素e并生成一个新的index对象

删除

.drop() 能够删除Series和DataFrame指定行或列索引

运算法则:

  • 算术运算:算术运算根据行列索引,补齐后运算,运算默认产生浮点数。补齐时缺项填充NaN (空值)
  • 广播运算:维度不同时的运算——二维和一维、一维和零维间
  • 比较运算:比较运算只能比较相同索引的元素,不进行补齐

采用+ ‐ * /符号进行的二元运算产生新的对象
采用> < >= <= == !=等符号进行的二元运算产生布尔对象
算术运算:

Out(b):
   one  two
a  1.0    9
b  2.0    8
c  3.0    7
d  NaN    6

Out(c):
   one  two
a    1    9
b    2    8
c    3    7
d    4    6

Out(b+c):
   one  two
a  2.0   18
b  4.0   16
c  6.0   14
d  NaN   12

算术运算的方法形式的运算

方法 说明
.add(d, **argws) 类型间加法运算,可选参数
.sub(d, **argws) 类型间减法运算,可选参数
.mul(d, **argws) 类型间乘法运算,可选参数
.div(d, **argws) 类型间除法运算,可选参数
print(b.add(c, fill_value=100))
out:
     one  two
a    2.0   18
b    4.0   16
c    6.0   14
d  104.0   12
# fill_value参数替代NaN,替代后参与运算 
# 100+4=104

维度不同的运算:

a = pd.Series([1,2,3,4,5])
print(a-10)
Out: 
0   -9
1   -8
2   -7
3   -6
4   -5
dtype: int64

b = pd.DataFrame(np.arange(20).reshape(4,5))
a = pd.Series([1,2,3,4])
print(b-a)
Out: 
      0     1     2     3   4
0  -1.0  -1.0  -1.0  -1.0 NaN
1   4.0   4.0   4.0   4.0 NaN
2   9.0   9.0   9.0   9.0 NaN
3  14.0  14.0  14.0  14.0 NaN

b.sub(a,axis=0)
Out: 
    0   1   2   3   4
0  -1   0   1   2   3
1   3   4   5   6   7
2   7   8   9  10  11
3  11  12  13  14  15
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容