盘点一个Pandas中.str的一个常见小误区

Python进阶者
• 阅读 257

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【上海新年人】问了一个Pandas基础的问题。问题如下:大佬们,这里面的dtype,能直接改成str格式?我一开始认为只能这么看print(df.dtypes),传统的做法我一直认为是这样子df['数学'] = df['数学'].astype(str),不明白,上面这部,跟这部df['数学'].str.replace()是不是要同时做。

盘点一个Pandas中.str的一个常见小误区

印象中这部df['数学'].str我一直认为是直接转字符串格式str了,上面df['数学'] = df['数学'].astype(str)是多余的了?还有一个疑问,是草莓大哥,在里面做了一个replace(regex={:}),但我记得用正则的时候应该是replace(****,regex=True),是不是草莓大哥做这题时又超纲了?

二、实现过程

这里【瑜亮老师】给了一个详细解答:这里的replace可以传一个字典,把所有的key替换成对应的value。

盘点一个Pandas中.str的一个常见小误区

粉丝继续提问:还有我一直不太明白df[*].str.replace与直接写replace()有啥区别?这一步df[*].str是不是把某列转成str格式???。

后来【论草莓如何成为冻干莓】给了一个思路如下:.str是调用Series的str方法,直接用replace是用DataFrame的replace方法。

【瑜亮老师】给了一个思路如下:df.replace还能传2个列表,用列表1的元素替换列表2中的元素,也是11对应的。上面是多对多替换。还可以传1个列表,1个元素。这种是多对一替换。你只学了个一对一替换。

盘点一个Pandas中.str的一个常见小误区

object是混合类型,里面的内容可能是数字,你是数字的25,又不是字符串的'25',因为原df中的25是int,你替换的是字符串25,根本找不到这个,所以不替换。如果你不把int转换为str数据类型,那么无论你用df[].str.replace('25', '不及格'),还是df[].str.replace(25, '不及格')都是不行的,.str.replace 是字符串的方法,并不是把df[]中的数据变成str。

盘点一个Pandas中.str的一个常见小误区

df[]中存的是str,这时候你用.str.replace可以实现替换效果,如果里面不是str你调用字符串的replace,怎么替换?这也是为什么有是会在这之前加个.astype(str)。

盘点一个Pandas中.str的一个常见小误区

顺利地解决了粉丝的问题。

如果你也有类似这种数据分析的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Pandas数据筛选的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【上海新年人】提出的问题,感谢【论草莓如何成为冻干莓】、【瑜亮老师】给出的思路,感谢【莫生气】、【冯诚】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

盘点一个Pandas中.str的一个常见小误区

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
盘点一个Pandas处理的基础题目
大家好,我是皮皮。一、前言前几天在Python星耀交流群【dcpeng】问了一个Pandas基础的问题,提问截图如下:原始代码如下:importpandasaspdfromdataclassesimportdataclass@dataclassclassC:a:int0b:int0@propertydefad
Python进阶者 Python进阶者
1年前
盘点一个Pandas中df转列表处理基础知识
大家好,我是皮皮。一、前言前几天在Python黄金群【东哥】问了一个Pandas基础的问题,这里拿出来给大家分享下。大佬们,我有这样的一个df:dfpd.DataFrame("城市":可以看到【逸】、【此类生物】、【巭孬嫑勥烎】、【Python进阶者】都有
Python进阶者 Python进阶者
1年前
如何把某一列中包含某个值的所在行给删除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据处理的问题,一起来看看吧。大佬们,如何把某一列中包含某个值的所在行给删除?比方说把包含电力这两个字的行给删除。这里【FANG.J】指出:数据不多的话,可以在exc
Python进阶者 Python进阶者
11个月前
盘点一个Python自动化办公的需求——一键批量插图到Excel指定单元格
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,问题如下:大佬们,昨天我在做插入excel图片的时候想起一个需求,好像挺难办的,也蛮现实的。比如每个图片是有名称的,但在做excel的时候,能不能按
Python进阶者 Python进阶者
11个月前
pandas单独设一个新列,譬如从2023-11-1到2023-11-31怎么搞法?
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas日期数据生成的问题,问题如下:大佬们,如果我想单独设一个新列,譬如从2023111到20231131怎么搞法?或者这个数据有11行,可不可以自行设置成20231115
Python进阶者 Python进阶者
11个月前
一个excel文件,我用pandas如何取行,只能用pandas?
大家好,我是皮皮。一、前言前几天在Python白银交流群粉丝问了一个Pandas数据筛选的问题。问题如下:我突然想到,如果一个excel文件,我用pandas如何取行,只能用pandas。二、实现过程后来【月神】给了一个思路和代码如下:其实粉丝之前也问了一
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Python进阶者 Python进阶者
10个月前
Pandas中如何删除空值所在的行
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas日期数据删除的问题,问题如下:大家晚上好,又有问题了,请问下表格中下面空值怎么删除?删不掉。比方说这里我想删HOBBY这一列下面的空值,我是这样子做的dfnew.dr
Python进阶者 Python进阶者
10个月前
Pandas一行中满10个字符就自动换行?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas处理数据的问题。问题如下:大佬们,有个需求,某一列中,有些单元格中数字太多,比如有20个字符,太难看了,有没有办法,满10个字符就自动换行!用了这个:s
Python进阶者 Python进阶者
3个月前
盘点一个Python自动化办公实战问题
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公实战的问题,问题如下:大佬们,我有个难度高的问题,我有个文件夹,里面呢有一堆文件,然后我要寻找至少2个关键字相同的文件,然后提取文件中第二列中