yjs11——pandas运算

1.算术运算

加法:
data.(列名.)add(k)
data(.列) + k
减法:
data["W"].sub(k)

注意:
data["列名"]的效果=data.列名

2.逻辑运算

2.1直接比较型+满足条件赋值

2.2函数型:

3.统计运算

3.1整体统计函数

输出结果:

3.2统计函数

3.3累计函数+画图

4.自定义运算

代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 7.DataFrame结构的运算

# 7.1算数运算
#   7.1.1加法运算
print("W值都加2的两种写法(一般不用方法2):")
print(data.W.add(2))
print(data.W + 2)

#   7.1.2减法运算
print("W的值都减3:")
print(data["W"].sub(3))
""" data["列名"]的效果=data.列名 """

print("```````````````````````````````````````````````````````````````````````````````````````````````````````")

# 7.2逻辑运算
#   7.2.1直接比较型+满足条件赋值
print("看那个W是大于50的:")
print(data.W > 50)
"返回的是把W单独拎出来,满足返回True,不满足返回False"

print(data[data.W > 50].head())
"""返回整个表中W>50的所有信息"""

print("将W>50并且PIE<18 的行 的所有信息 赋值成 xxx:")
# data[(data.W>50) & (data.PIE<18)]="xxx"
print(data)
"""1.如果有&或者|,各个条件要用括号括起来 如 (条件1)&(条件2)
   2.用的是&不是&&"""

print("`````````````````````````````````````````````````````````````````````")

#   7.2.2函数型
print("1.query函数————————输出PACE<90或者SALARY_MILLIONS>20的行的信息:")
print(data.query("PACE<90 | SALARY_MILLIONS>20"))
print("2.isin函数————————输出SALARY_MILLIONS=26.5或者30.96的行的信息:")
print(data[data.SALARY_MILLIONS.isin([26.5, 30.96])])
print(data.isin([54]))
"""1.data.query(“条件1&条件2”)可以搜寻的是范围,也可以搜寻指定的值,并且返回的是整个行的信息
   2.data.列名.isin(【value1,value2...】)是查找指定列值为value1,value2..的行,如果是这几个值,那么返回True,否返回False
   3.如果isin想返回符合条件的行的信息,可以 data【 data.列.isin([value1,value2...])】
   4.对于query函数的写法,query(“整个条件都在一个引号中”),不是(“条件1”)&(“条件2”)
   5.isin()函数的value值要用中括号括起来
   
"""

print("============================================================================================================")

# 7.3统计运算
# 7.3.1统计函数
print("AGE中的最大值为{}".format(data["AGE"].max()))
print("AGE中的最大值所在的位置为{}".format(data["AGE"].idxmax(axis=0)))
print("AGE中的最小值所在的位置为{}".format(data["AGE"].idxmin(axis=0)))
print("AGE中的方差为{}".format(data["AGE"].var()))
print("AGE中的标准差为{}".format(data["AGE"].std()))
print("AGE的总和为{}".format(data["AGE"].sum()))
print("AGE中的平均值为{}".format(data["AGE"].mean()))

# 7.3.2整体的统计函数
print("整体的情况如下:")
print(data.describe())

# 7.3.3累计统计函数
print("DRPM列的累计加和为:")
print(data.DRPM.cumsum())
print("DRPM列的累计乘积为:")
print(data.DRPM.cumprod())
print("DRPM列的累计最大值为:")
print(data.DRPM.cummax())
print("DRPM列的累计最小值为:")
print(data.DRPM.cummin())

# 累计函数+画图
print(data_1.DRPM.cumsum())
data_1.DRPM.cumsum().plot(x=data.index)
plt.show()


# 8.自定义运算
def fun(x):
    x = data.DRPM.max() - data.DRPM.min()
    return x
k1 = data.apply(fun)

k2=data.apply(lambda x:data.DRPM-data.DRPM.min(),axis=1)
print(k1)
print(k2)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值