1. 单字段打是否标签----Numpy.where

公式:Numpy.where(判断条件,条件为真时的值,条件为假时的值)

例子:我需要新增一列目标变量,逾期30天以上的定义为坏客户,标签为1,否则为好客户,标签为0。代码可以这样写:

df['target']=np.where(df['ovddays']>30 ,1,0)

2. 单字段打是否标签----列表推导式

公式 [条件为真的值 if 条件 else 条件为假时的值 for x in 列]

上述的新增一列目标变量,也可以这样写:

df ['target']=[1 if x>30 else 0 for x in df ['ovddays'] ]

3. 单字段打是否标签----apply、lambda 函数

使用apply、lambda 函数相互配合。

公式: 列.apply(lambda x : 条件为真的值 if 条件 else 条件为假时的值)

例子:上述的例子中,还可以这样写。

df['target’]= df[‘ovddays’].apply(lambda x : 1 if x>30 else 0)

4. 多字段打是否标签----np.where 或者apply、lambda 函数结合都可以

例子:增加一列变量,申请次数大于50并且放款次数小于10次的客户,标签为1,否则为0。代码这样写:

df['type']=np.where( (df['apply']>30) & (df['offer']<10),1,0)

或者

df['type']=df[['apply','offer']].apply(lambda x : 1 if (x[0]>50) &(x[1]<10) else 0 ,axis=1)

5. 单字段进行多分类打标签-----pandas.cut或者df.loc或者apply、lambda、def结合进行判断。

a. 针对数值型的字段进行分段处理。

例子:对年龄进行分段处理,0-18岁为1,19-30岁为2,31-40岁为3,41-50岁为4,50岁以上为5,代码如下:

pd.cut(df ['age'],bins=[0,18,30,40,50,100],labels=[1,2,3,4,5],right=True)

b. 针对文本型的字段进行归类处理

第一种方法:一类一类地写入DataFrame中

df.loc[df [df ['province'].isin(['四川','贵州','重庆','湖南'])].index,'tag']='辣' ##选出目标行的索引,使用df.loc[索引,列名称]进行赋值

df.loc[df [df ['province'].isin(['广州','香港'])].index,'tag']='甜'##选出目标行的索引,使用df.loc[索引,列名称]进行赋值

df ['tag'].fillna('其他',inplace=True) ##剩余的情况直接填充空值

第二种方法:def 定义一个分类标准函数,然后使用apply、lambda函数应用第一步定义的函数

def judge_type(x):

if x in ['四川','贵州','重庆','湖南']:

a='辣'

elif x in ['广州','香港']:

a='甜'

else:

a='其他'

return a

df ['tag']=df ['province'].apply(lambda x :judge_type(x))

6. 多字段进行多分类打标签-----apply、lambda、def结合使用

要像决策树一样,手动使用多字段进行多分类的处理情况,步骤如下:

第一步:def 定义一个分类标准函数

第二部:使用apply、lambda函数应用第一步定义的函数

例子:增加一列变量,申请次数大于50并且放款次数大于10次并且逾期次数大于5的客户的客户,标签为A……。

def judge_type(x):##x为一个列表

if (x[0]>50) & (x[1]>10)& (x[2]>5):

a='A'

elif (x[0]>50) & (x[1]>10)& (x[2]<=5):

a='B'

elif (x[0]>50) & (x[1]<10)& (x[2]>5):

a='C'

elif (x[0]>50) & (x[1]<10)& (x[2]<=5):

a='D'

elif (x[0]<=50) & (x[1]>10)& (x[2]>5):

a='E'

elif (x[0]<=50) & (x[1]>10)& (x[2]<=5):

a='F'

elif (x[0]<=50) & (x[1]<10)& (x[2]>5):

a='G'

else:# (x[0]<=50) & (x[1]<10)& (x[2]<=5):

a='H'

return a

df[['appy','offer','ovd']].apply(lambda x : judge_type(list(x)),axis=1)

python 标签_Python DataFrame中 打标签/归类 的6种方法相关推荐

  1. python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍

    本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...

  2. One-Error多标签分类_深度学习:如何在多标签分类问题中考虑标签间的相关性?

    1 多标签问题的简单解决思路 利用神经网络,我们可以很轻松处理一个多标签问题.如标题图所示,为前馈神经网络添加适当数量的隐含层,同时在输出层使用某个阈值判断标签分类结果即为一种基础的解决思路. 上述是 ...

  3. python pandas 分割DataFrame中的字符串及元组

    python pandas 分割DataFrame中的字符串类型数据的方法 文章目录 1.使用str.split()方法 2.使用join()与split()方法结合 3. 使用apply方法分割元组 ...

  4. html语言抬头是什么,什么是head标签?html中head标签的介绍

    本篇文章给大家带来的内容是关于什么是head标签 ?html中head标签的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 什么是head标签 head 标签是 元素的内容.不像 ...

  5. python怎么清屏_python实现清屏的方法 Python Shell中清屏一般有两种方法。

    Python Shell 怎样清屏? Python Shell中清屏一般有两种方法. 奈何一个人随着年龄增长,梦想便不复轻盈:他开始用双手掂量生活,更看重果实而非花朵.--叶芝<凯尔特的搏暮&g ...

  6. python list去重函数_python中对list去重的几种方法

    这篇文章主要介绍了python中对list去重的多种方法,现在分享给大家,需要的朋友可以参考下 今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数.不过这个东西最 ...

  7. python中字符串怎么引用_Python:字符串中引用外部变量的3种方法

    方法一: username=input('username:') age=input('age:') job=input('job:') salary=input('salary') info1='' ...

  8. Python的Django框架中forms表单类的使用方法详解2

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  9. python csv库,Python 中导入csv数据的三种方法

    Python 中导入csv数据的三种方法,具体内容如下所示: 1.通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件.这个类库中的reader()函数用来导入CSV文 ...

最新文章

  1. LeetCode简单题之检查某单词是否等于两单词之和
  2. Windows自带certutil工具校验用法
  3. 动态路由器与静态路由器的理论知识
  4. grub引导iso光盘[可用于ntfs]
  5. uva 11997——K Smallest Sums
  6. cudnn.deterministic = True 固定随机种子
  7. Objective-C 2.0 with Cocoa Foundation--- 6,NSObject的奥秘
  8. 使用Turi Create训练核心ML模型以对犬种进行分类
  9. 【转】cas注册后自动登录
  10. 21天JenkinsDay11 对某个job单独设置权限
  11. 百亿级别数据量,又需要秒级响应的案例,需要什么系统支持呢?下面介绍下大数据实时分析工具Yonghong Z-Suite...
  12. java设计模式4-装饰者模式
  13. Dropout 丢弃法 动手学深度学习v2 pytorch
  14. 免校准的电量计量芯片_应物联网而生:合力为HLW8012系列免校准电能计量芯片...
  15. 如何查看wifi信息并对其进行管理?这些app帮你一键掌控你的wifi信息
  16. Ubuntu下vim如何保存退出
  17. 【《关于我一个小学生用C++写了个抽奖游戏这件事》】
  18. dw html压缩文件,如何压缩css文件?
  19. 顶会中的对比学习论文-2
  20. 著名数学大师丘成桐:我们为什么要读数学科普书【有视频】

热门文章

  1. Go 语言中的switch分支
  2. PrimeNG p-tree 手动添加勾选
  3. 数字图像处理100问—03二值化(Thresholding)
  4. 【Verilog数字系统设计——完成如下公式所表示的逻辑功能模块】
  5. 根据点云及其对应的四元数与GPS计算出其相对坐标系的经纬坐标(matlab)
  6. day3-转自金角大王
  7. 与10.110.12.29mask255.255.255.224属于同一网段的主机ip地址是
  8. java计算机毕业设计基于安卓Android的城市公交查询app(源码+系统+mysql数据库+Lw文档)
  9. Java中常用的String方法解析和使用示例
  10. 炸裂了!来了一波新年微信红包封面,抓紧领取,先到先得!