当前位置 : 主页 > 编程语言 > python >

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用

来源:互联网 收集:自由互联 发布时间:2022-06-15
大家好,我是皮皮。 一、前言 前几天在Python白银交流群有个叫【蛋蛋】的粉丝问了一个Pandas处理的问题,这里拿出来给大家分享下,一起学习下。 一开始我都没理解她的意思,以为只

大家好,我是皮皮。

一、前言

前几天在Python白银交流群有个叫【蛋蛋】的粉丝问了一个Pandas处理的问题,这里拿出来给大家分享下,一起学习下。

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_Python入门# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_Python基础_02

一开始我都没理解她的意思,以为只是简单的替换而已,之前【月神】给了一个代码,当时也写文章记录了,代码如下:

df['col2'] = df['col1'].map({1:"开心", 2:"悲伤", 3:"难过", 4:"泪目"})
df

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_数字编码_03不过很不巧,这个不是她想要的结果,她想要的结果是同样的几个都是1,然后其余的就是2,3,4,我还是没反应过来,不过【月神】一下子就get到她的意思了,真是太神了。

二、解决过程

这里【月神】给出了解答,使用​​pd.factorize(data['a'])[0]​​完美地解决了这个问题。

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_字符串_04

这个类似于​​onehot​​编码,对类型进行了数字编码,如果想要把​​nan​​也编码,加一个参数​​na_sentinel=None​​。

这样一来,就完美地解决了问题。

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_Python基础_05

关于​​pd.factorize()​​函数的定义如下:

pandas.factorize(values, sort=False, order=None, na_sentinel=-1, size_hint=None) Encode input values as an enumerated type or categorical variable

简单来说,它可以实现将字符串特征转化为数字特征。

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_Python入门_06

三、总结

大家好,我是皮皮。这篇文章主要分享了Pandas中数据处理的问题,主要讲解了​​pd.factorize()​​函数的应用,它可以实现将字符串特征转化为数字特征,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。

# yyds干货盘点 # 实战篇:盘点Pandas中的factorize()函数妙用_数字编码_07

最后感谢粉丝【蛋蛋】提问,感谢【月神】和【皮皮】给出的具体解析和代码演示,感谢【dcpeng】、【冫马讠成】等人参与学习交流。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

【文章出处:香港服务器 https://www.68idc.cn欢迎留下您的宝贵建议】
上一篇:pandas之groupby分组之后再筛选
下一篇:没有了
网友评论