DataFrame(2):基本运算

  • Post author:
  • Post category:其他




本章内容

  1. 算术运算
  2. 比较运算
  3. 赋值运算
  4. 逻辑运算
  5. 成员运算
  6. 身份运算
  7. 统计运算
  8. 自定义运算



1、算术运算

加、减、乘、除、取模(返回除法的余数)、幂(返回x的y次幂)、整除(向下取接近商的整数)

add 、sub、 mul、 div、 truediv、 floordiv、 pow 、mod、

df['salar']=df['salar']+1000
df['salar']=df['salar'].add(1000)
df['salar']=df['salar']-1000
df['salar']=df['salar'].sub(1000)
df['salar']=df['salar']*2
df['salar']=df['salar'].mul(2)
df['salar']=df['salar']/2
df['salar']=df['salar'].div(2)
df['number']=df['age']%2
df['number']=df['age'].truediv(2) # 除法,保留小数结果
df['number']=df['age'].floordiv(2) # 除法,保留整数结果
df['number']=df['age']**2
df['number']=df['age'].pow(2)
df[['number','num']]=df['age'].pow([2,3]) #对应每列的幂
df['number']=df['age']//2
df['number']=df['age'].mod(2)

其他示例:

df[['工资','奖金']]+=[1000,500] # 指定某两列运算
df[['工资','奖金']]+10 # 指定某两列运算:加同一个数字
df[['工资','奖金']]+df[['工龄','补贴']].mean() # 指定某两列运算:分别加对应列的平均数
df.工资.add(100,fill_value=0) # 将nan填充代替为0,再计算和,其它几个 函数都可以类似操作
df.工资.mod(100,fill_value=0)  # 将nan填充代替为0,再计算



2、比较运算

在这里插入图片描述

示例:

df['a']==df['b'] #判断a列和b列是否相等
df['a']!=df['b'] #判断a列和b列是否不相等
df['a']>df['b'] #判断a列是否大于b列
df['a']<df['b'] #判断a列是否小于b列
df['a']>=df['b'] #判断a列是否大于等于b列
df['a']<=df['b'] #判断a列是否小于等于b列



3、赋值运算

在这里插入图片描述

示例:

df['a']=df['b'] #将b列的赋值给a列
df['a']+=df['b'] #将b列加上a列的值的赋给a列
df['a']-=df['b'] #判断a列的值减去b列的值赋给a列
df['a']*=df['b'] #判断a列的值乘b列的值赋给a列
df['a']/=df['b'] #判断a列的值除b列的值赋给a列
df['a']%=4 #判断a列的值4取模后值赋给a列
df['a']**=3 #判断a列的值3次方赋给a列
df['a']//=2 #判断a列的值整除2后赋给a列



4、逻辑运算

&、 |、~ ;and 、 or、 not(与,或,非)

在这里插入图片描述

示例:

df[(df['age']>20)&(df['sex']='男')] #取年龄大于20且性别为男的数据
df[(df['age']<20)|(df['age']>50)] #取年龄小于20或者年龄大于50的数据
df[~(df['age']>20)] #取年龄小于等于20的数据
df[(df['age']>20) and (df['sex']='男')] #取年龄大于20且性别为男的数据
df[(df['age']<20) or (df['age']>50)] #取年龄小于20或者年龄大于50的数据
df[not(df['age']>20)] #取年龄小于等于20的数据



5、成员运算

in: 如果在指定的序列中找到值返回 True,否则返回 False。

not in: 如果在指定的序列中没有找到值返回 True,否则返回 False。

示例:

df['中国' in df['country']]     #获得国家为中国的数据
df['中国' not in df['country']] #获得国家为非中国的数据



6、身份运算

is: is 是判断两个标识符是不是引用自一个对象

not is : is not 是判断两个标识符是不是引用自不同对象



7、统计运算

describe()	数据描述统计	
count()	    非NaN个数
sum()	    求和	
prod()		所有元素的乘积
mean()		平均值	
abs()		绝对值
min()		最小值	
max()		最大值
std()		标准差	
var()		方差
median()	中位数	
mode()		众数
idxmax()	最大值的索引标签	
idxmin()	最小值的索引标签
cumsum()	计算前1/2/3//n个数的和	
cumprod()	计算前1/2/3//n个数的积
cummin()	计算前1/2/3//n个数的最小值	
cummax()	计算前1/2/3//n个数的最大值



8、自定义运算

apply(function, axis=0),function:自定义函数,axis=0:默认是列,axis=1为行进行运算

示例:

df['a']=df['b'].apply(lambda x :x.max-x.mean(),axis=0) #将b列的最大值减去平均值赋值给a列



版权声明:本文为m0_46128639原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。