pandas笔记(6)DataFrame数学运算

算数运算

  • 任意一列加、减、乘、除一个值

创建一个 DataFrame

import  numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(16).reshape((4,4)),index = list('abcd'),columns=['A','B','C','D'])

#  返回
	A	B	C	D
a	0	1	2	3
b	4	5	6	7
c	8	9	10	11
d	12	13	14	15

加法运算:

# A 列每个值加 5 
df['A'] = df['A'] + 5
df

# 返回
	A	B	C	D
a	5	1	2	3
b	9	5	6	7
c	13	9	10	11
d	17	13	14	15

减法运算:

# A 列每个值减 5 
df['A'] = df['A'] - 5
df

# 返回
	A	B	C	D
a	-5	1	2	3
b	-1	5	6	7
c	3	9	10	11
d	7	13	14	15

乘法运算:

# A 列每个值乘 5 
df['A'] = df['A'] * 5
df

# 返回

	A	B	C	D
a	0	1	2	3
b	20	5	6	7
c	40	9	10	11
d	60	13	14	15

除法运算:

# A 列每个值除 5 
df['A'] = df['A'] / 5
df

# 返回
	A	B	C	D
a	0.0	1	2	3
b	0.8	5	6	7
c	1.6	9	10	11
d	2.4	13	14	15
  • 任意一列加、减、乘、除一个列

两DataFrame相加、减、乘、除

两个DataFrame进行四则运算,需具有相同的行,列索引名。如果索引名不相同,则返回NAN。

'''分别创建一个4*4和3*3的df和df1。由于df1中没有D列,d行,所以df+df1时,这两列值为NAN'''
df = pd.DataFrame(np.arange(16).reshape((4,4)),index = list('abcd'),columns=['A','B','C','D'])
df1= pd.DataFrame(np.arange(9).reshape((3,3)),index = list('abc'),columns=['A','B','C'])
df+df1

# 返回
	A		B		C		D
a	0.0		2.0		4.0		NaN
b	7.0		9.0		11.0	NaN
c	14.0	16.0	18.0	NaN
d	NaN		NaN		NaN		NaN

当使用add()函数时,可以使用fill_value方法填充单个df中的缺失数据,但当两个df中都为NAN的数据,该方法不会填充。

'''使用add方法,并为缺失值填充为0'''
df.add(df1,fill_value=0)

# 返回

	A		B		C		D
a	0.0		2.0		4.0		3.0
b	7.0		9.0		11.0	7.0
c	14.0	16.0	18.0	11.0
d	12.0	13.0	14.0	15.0
  • 运算符与pandas操作函数
运算符 操作函数 注释
+ add() 加法
- sub() 减法
* mul() 乘法
/ div() 除法
// floordiv() 取整
** pow() 乘方
% mod() 取余

聚合函数

pandas中常用聚合函数如:max(),min(),mean(),sum(),count(),value_counts(),等

以sun()和count()为例:

'''对df中的行求和'''
df.sum(axis=1)

# 返回
a     6
b    22
c    38
d    54
dtype: int64


'''对df中的列计数'''
df.count(axis=0)

# 返回
A    4
B    4
C    4
D    4
dtype: int64

你可能感兴趣的:(Pandas,python)