python pandas DataFrame.apply调用自定义函数

DataFrame.apply调用自定义函数

DataFrame.apply(self, func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)
按指定行/列传输到函数,调用函数进行数据处理,并返回按行/列计算值

统计列为空值的数量

import numpy as np
import pandas as pd

#创建函数计算列空值
def not_null_count(column):
    column_null=pd.isnull(column)
    null=column[column_null]
    return len(null)
    
#创建DataFrame
data=pd.DataFrame(np.zeros((10,10)))
data.iloc[2,2]=None
data.iloc[5,7]=None

#调用函数计算空值
count=data.apply(not_null_count)
print(count)

pandas 数据分类处理

在这里插入图片描述

import numpy as np
import pandas as pd

#创建分类函数
def class_column(column):
    c_class=column[4]
    if pd.isnull(c_class):
        return 'null'
    elif c_class <=-0.5:
        return '[-1,-0.5]'
    elif c_class<=0 :
        return '(-0.5,0]'
    elif c_class<=0.5:
        return '(0,0.5]'
    else:
        return '(0.5,1]'
    
#创建数组    
data=pd.DataFrame(np.hstack((np.zeros((16,4)),np.sin(np.arange(0,4*np.pi,np.pi/4)).reshape(16,1))))
#print(data)
#调用函数分类数据
data[5]=data.apply(class_column,axis=1)
print(data)
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值