pandas 常用函数

df.replace()

替换

import numpy as np
import pandas as pd

df = DataFrame({'color':['red','blue','yellow'],'price':[111,222,333]})
display(df)

在这里插入图片描述
将所有333替换444

df.replace({333:444},inplace = True)

在这里插入图片描述

df.map()

自定义函数

映射

import pandas as pd
import numpy as np


df = pd.DataFrame(np.random.randint(0,101,size=(3,3)),columns=['python','math','english'],index=['张三','李四','王五'])
df

在这里插入图片描述
取3科平均成绩进行判断,<60的为不及格,<90的为及格 ,其它的为优秀

def avg(x):
    if x <60:
        return '不及格'
    elif x < 90:
        return '及格'
    else:
        return '优秀'

df['平均结果'] = df.mean(axis=1).map(avg)
df

在这里插入图片描述

lambda 表达式
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,101,size=(3,3)),columns=['python','math','english'],index=['张三','李四','王五'])
df

在这里插入图片描述

  • 所有同学的java成绩是在python成绩的基础上+10得到的
# java成绩是在python成绩的基础上+10得到的
df['java'] = df['python'].map(lambda x:x +10)
df

在这里插入图片描述

df.rename()

修改行列索引的名称

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,101,size=(3,3)),columns=['python','math','english'],index=['张三','李四','王五'])
df

在这里插入图片描述

# inplace = True 在原数据的基础上修改
df.rename(index={'张三':'zhangsan'}, columns = {'math':'数学','english': '英语'},inplace = True)
df

在这里插入图片描述

  • df.set_index()

  • 将某一列作为索引
import pandas as pd
import numpy as np
df = pd.DataFrame({'name':['tom','alice', 'jack'], 
                   'id':[10085, 10086, 10087]})
df

在这里插入图片描述

# 将id这一列作为索引
# inplace=True 表示当前操作对原数据生效
# append=False 表示原来的行索引被舍弃 默认被舍弃
# drop=True 删除原id这一列 默认被删除
df.set_index('id',drop=True, append=False, inplace=True)
df

在这里插入图片描述

  • 将某两列作为索引 即复合索引

在这里插入图片描述

  • 设置复合索引 源码
import pandas as pd
import numpy as np

# 以字典的的格式取创建DataFrane
a=pd.DataFrame({
    'a' : range(7),
    'b' : range(7, 0, -1),
    'c' : ['one', 'one', 'one', 'two',  'two', 'two', 'two'],
    'd' : list('hjklmmo')
})
a

# 设置c d两列为复合索引, 然后取出a这一列
x = a.set_index(['c','d'])['a']
x

# Series
type(x)

# 设置c d两列为复合索引, 然后取出a这一列
x = a.set_index(['c','d'])[['a']]
x

# DataFrame
type(x)
  • df.apply()

函数作为一个对象,能作为参数传递给apply,并且能作为apply的返回值

构建数据

import pandas as pd

df = pd.DataFrame({'A':['a','b','a','b','a','b'],
              'B':[1,10,4,40,7,70],
              'C':[2,20,5,50,8,80],
              'D':[3,30,6,60,9,90]})
df

在这里插入图片描述
先分组

grouped = df.groupby('A')

for name,group in grouped:
    print(name)
    print(group)

在这里插入图片描述
求一下分组后的平均值 方差 等

grouped.apply(lambda x:x.describe())

apply处理数据是一组一组的

在这里插入图片描述

df.drop_duplicates()

student.xlsx
在这里插入图片描述

按id清除重复数据
在这里插入图片描述

df.drop()

去掉id这一列

在这里插入图片描述

df.dropna()

使用链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值