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

Python进阶者
• 阅读 274

大家好,我是皮皮。

一、前言

前几天在Python白银交流群有个叫【蛋蛋】的粉丝问了一个Pandas处理的问题,这里拿出来给大家分享下,一起学习下。 实战篇:盘点Pandas中的factorize()函数妙用 实战篇:盘点Pandas中的factorize()函数妙用

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

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

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

不过很不巧,这个不是她想要的结果,她想要的结果是同样的几个都是1,然后其余的就是2,3,4,我还是没反应过来,不过【月神】一下子就get到她的意思了,真是太神了。

二、解决过程

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

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

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

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

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

关于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

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

[图片上传失败...(image-bcfb44-1651146686981)]

三、总结

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

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

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

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

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
4个月前
盘点一道字典转换基础题目
大家好,我是皮皮。 一、前言前几天在Python最强王者交流群有个叫【麦当】的粉丝问了一个Python基础问题,这里拿出来给大家分享下,一起学习下。 二、解决过程这个问题挺基础的,看上去确实也不难。这里【瑜亮老师】直接给了一个代码d 'a': 1, 'b': 2res list(tuple(d.items()))print(res)后来【月神】发现,其实
Python进阶者 Python进阶者
7个月前
盘点一道Python中的yield生成器的题目
大家好,我是皮皮。 一、前言前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个Python生成器的问题,这里拿出来给大家分享下,一起学习下。 二、解决过程这里【月神】给出了解答,如下图所示:当然了,这块有点难理解的部分,如下图所示:如果加return的话,效果就不一样了。这里在额外细节化一下,【瑜亮老师】给出了yield用法细节。这个题目主
Python进阶者 Python进阶者
7个月前
盘点一个Python网络爬虫过程中中文乱码的问题
大家好,我是皮皮。 一、前言前几天在Python黄金交流群有个叫【Mt.Everest】的粉丝问了一个关于Python网络爬虫过程中中文乱码的问题,这里拿出来给大家分享下,一起学习。 二、解决过程这个问题其实很早之前,我就写过相关文章,而且屡试不爽。 【Python进阶者】解答这里给出了两个思路,照着这个思路去的话,问题不大。事实上并不巧,还是翻车了。 【黑
Python进阶者 Python进阶者
1星期前
盘点一个pandas两个数据横向拼接的问题
大家好,我是皮皮。 # 一、前言 前几天在Python白银交流群【谢峰】问了一个Pandas拼接的问题,提问截图如下: ![](https://upload-images.jianshu.io/upload_images/26239789-c53
Python进阶者 Python进阶者
5个月前
如何读取保存一些list信息的txt,生成有一组名字有规律的list
大家好,我是皮皮。 一、前言前几天在Python白银交流群有个叫【大侠】的粉丝问了一个Python列表处理的问题,这里拿出来给大家分享下,一起学习下。请教:如何读取保存一些list信息的txt,生成有一组名字有规律的list,如list1,list2,list3... 二、解决过程 【dcpeng】解答这里【dcpeng】给出了解答,纯粹往结果上靠。fina
Python进阶者 Python进阶者
5个月前
使用Python编程打造一款游戏
大家好,我是皮皮。一、前言前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个Python小游戏的问题,这里拿出来给大家分享下,一起学习下。二、解决过程看上去代码有报错,截图如下。这个错误倒是很常见,因为数据类型不同,直接相加肯定报错,如果需要更改的话,那么需要转一下数据类型,这里【沈复】大佬给出了答案,如下图所示。当然了,粉丝的代码残缺的太
Python进阶者 Python进阶者
8个月前
Python匿名函数lambda x: x-0 and x-1代表的意思是什么...
大家好,我是我是皮皮。一、前言前几天在Python最强王者交流群有个叫【Chloé P.】的粉丝问了一个关于Python匿名函数的问题,讨论十分火热,这里拿出来给大家分享下,一起学习。题目如下图所示:下面是给出的答案,乍看有点难懂。二、解决过程这个这里给出【杰】大佬的答案,一起来看看吧。下面是fliter这个函数的含义:不过看上去还是有点晦涩难懂,后来【德善
Python进阶者 Python进阶者
5个月前
盘点一个文件读取时utf-8错误的解决办法
大家好,我是皮皮。 一、前言前几天在Python白银交流群有个叫【大侠】的粉丝问了一个Python读取文件的时候报错的问题,这里拿出来给大家分享下,一起学习下。 二、解决过程看上去代码有报错,截图如下。这个错误倒是很常见,因为数据没有给utf8编码,或者读取的时候,没有指定utf8编码,都会报类似的错。上图是他的代码,15行那里指定一下编码就可以了。指定编码
Python进阶者 Python进阶者
7个月前
编写一个闭包函数,要实现的功能是计数功能
大家好,我是皮皮。 一、前言前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个Python装饰器的问题,这里拿出来给大家分享下,一起学习下。 二、解决过程这里【东哥】给出了解答,其实这个题目就是在考你装饰器的内容。代码如下:count 0def wrapper(func): def inner(args, kwargs): g
Python进阶者 Python进阶者
8个月前
盘点一道Pandas中分组聚合groupby()函数用法的基础题
大家好,我是皮皮。 一、前言前几天在Python最强王者交流群有个叫【Chloé】的粉丝问了一个关于Pandas中groupby函数的问题,这里拿出来给大家分享下,一起学习。这个粉丝在法国留学,所以提问是英文的,当然了英文看上去也不难,有点二级英文基础,也看得懂,实在不行,在线翻译一下也问题不大了。 二、解决过程这里给出【dcpeng】大佬和【月神】的解答。