11.8课堂总结

11.8课堂总结

根据索引删除数据

drop

注意点:

删除指定的索引,必须配合axis使用,axis=1 表示列,axis=0表示的是行
drop()这个方法,返回删除之后的dataframe,原始数据不受影响
指定行列的时候不使用0或1,使用index和columns

del

del 这个方法,只能删除列,不能删除行
而且实在原始数据上做的操作

pandas的对齐操作

四种主要的运算:加add()减sub()乘mul()除div()

加法如下:

import numpy as np
import pandas as pd

print('######series对齐运算####')
ser1 = pd.Series(data=range(10,15),index=list('abcde'))
ser2 = pd.Series(data=range(20,25),index=list('cdefg'))
print('###################ser1')
print(ser1)
print('###################ser2')
print(ser2)
print('###################add()')
ser_obj3 = ser1.add(ser2)
print(ser_obj3)

运行结果如下:
在这里插入图片描述
减法,乘法跟加法类似,除法这里特殊提一下:

ser_obj3 = ser1.div(ser2,fill_value=0)
ser_obj3

在这里插入图片描述

series对象与dataframe对象做对齐操作

数据类型不同的时候做对齐操作,不支持fill_value
在这里插入图片描述

数据清洗

import numpy as np
import pandas as pd

# 先判断是否存在缺失值
df1 = pd.DataFrame([np.random.randint(10,50,4),[1.1,2.2,3.3,]],columns=list('ABCD'))
df1

在这里插入图片描述

df1.isnull()

在这里插入图片描述

# 删除空值,删除空值所在的行或列
df1.dropna(axis='index')

在这里插入图片描述

# 填充空值
df1.fillna(3,axis='index')

在这里插入图片描述

df1.fillna({
    'A':100,
    'B':200,
    'C':300,
    'D':400
})

在这里插入图片描述

# 判断重复数据
df2 = pd.DataFrame([np.random.randint(10,15,5),[11,12,13,14,15],[11,12,13,14,15]],columns=list('ABCDE'))
df2

在这里插入图片描述

df2.duplicated('A')

在这里插入图片描述

# 直接删除重复行数据
df2.drop_duplicates('A')

在这里插入图片描述

# 替换
df3 = pd.DataFrame(np.random.randint(-5,10,(3,4)),index=list('abc'),columns=list('ABCD'))
df3

在这里插入图片描述

df3.replace(-3,300)

在这里插入图片描述

df4 = pd.DataFrame([np.array(['a','1'])],columns=list('AB'))
df4.replace(regex=['a'],value=100)
df4.replace(regex=['\d'],value=100)

在这里插入图片描述
在这里插入图片描述

df4.replace({'a':'aaa','1':'1111'})

在这里插入图片描述

df4.replace(['a','1'],100)

在这里插入图片描述

df5 = pd.DataFrame([np.array(['a','1','a'])],columns=list('ABC'))
df5

在这里插入图片描述

df5.replace({'A':'a'},'aaa')

在这里插入图片描述

函数的使用

import numpy as np
import pandas as pd

ser1 = pd.Series(np.random.randint(-10,10,10),index=list('adcdefghop'))
df1 = pd.DataFrame(np.random.randint(-10,10,(4,5)),index=list('abcd'),columns=list('ABCDE'))
def func(x):
    print('这是自定义的')
    print(x)
    print('###############')
    print('最大值',np.max(x))
    print('最小值',np.min(x))
    return np.max(x)-np.min(x)
df1.apply(func,axis='columns')
nt('这是自定义的')
    print(x)
    print('###############')
    print('最大值',np.max(x))
    print('最小值',np.min(x))
    return np.max(x)-np.min(x)
df1.apply(func,axis='columns')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值