已解决(pandas apply函数使用报错)AttributeError: ‘str‘ object has no attribute ‘apply‘


文章目录

  • 报错代码
  • 报错翻译
  • 报错原因
  • 解决方法
  • 千人全栈VIP答疑群联系博主帮忙解决报错

报错代码

粉丝群一个小伙伴想使用pandas apply函数使用,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:

报错信息如下所示

AttributeError: 'str' object has no attribute 'apply'

报错翻译

报错信息翻译如下

属性错误:“str”对象没有属性“apply”

报错原因

apply函数时pandas的一个函数,必须是DataFrame对象才能调用,字符串中并没有这个函数。

apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典。

apply()的返回值就是func()的返回值,apply()的元素参数是有序的,元素的顺序必须和func()形式参数的顺序一致

小伙伴按下面的方法正确使用apply函数即可!!!

解决方法

apply函数的正确使用

apply()可以对DataFrame按行和列(默认按列)进行函数处理,也支持Series。如果是Series,将逐个传入具体值。使用lambda时,变量是调用对象低一维的值。

语法格式:

DataFrame.apply(func: AggFuncType,axis: Axis = 0,raw: bool = False,result_type=None,args=(),**kwargs,)

参数说明

  • func:自己编写要应用于Series/DataFrame的函数,*args, **kwargs被传递到“func”中

  • Axis :应用功能的轴,0 将函数应用于每列,1将函数应用于每一行,默认为0。

  • raw:bool,默认为False。确定行或列是否作为Series或ndarray对象传递:

    • False:将每行或每列作为序列传递给作用

    • True:传递的函数将接收ndarray对象

    • 相反,如果您只是应用NumPy缩减函数,这将实现更好的性能。

  • result_type:‘expand’,‘reduce’,‘broadcast’,None},默认为None。这些仅在“轴=1”(列)时起作用:

    • expand:类似列表的结果将变成列。

    • reduce:如果可能,返回一个序列,而不是展开列表式结果。这与“展开”相反。

    • broadcast:结果将广播到原始形状在DataFrame中,原始索引和列将是保留。

    • 默认行为(None)取决于应用的函数:类似列表的结果将作为序列返回其中之一。但是,如果apply函数返回Series展开为列。

  • args:迭代的参数,可选,可以是元组类型,也可以是列表类型或者其他。

  • kwargs:映射的参数,可选,是一个包含关键字的字典。

可以与lambda结合使用:

import numpy as np
import pandas as pddata = {'A': pd.Series(1, index=list(range(4)), dtype='float32'),'B': pd.Series(2, index=list(range(4)), dtype='float32'),'C': pd.Series(3, index=list(range(4)), dtype='float32')}
df = pd.DataFrame(data)print("应用前:")
print(df)print("对列进行求和:")
print(df.apply(lambda x: x.sum(), axis=0))
print("对行进行求和:")
print(df.apply(lambda x: x.sum(), axis=1))

运行结果:

以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!

千人全栈VIP答疑群联系博主帮忙解决报错

由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点:作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!

  • 专栏福利:简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

  • 注意:如果希望得到及时回复,和大佬们交流学习,订阅专栏后私信博主进千人VIP答疑群

免费资料获取,更多粉丝福利,关注下方公众号获取

已解决AttributeError: ‘str‘ object has no attribute ‘apply‘相关推荐

  1. 成功解决AttributeError: ‘str‘ object has no attribute ‘decode‘

    成功解决AttributeError: 'str' object has no attribute 'decode' 目录 解决问题 解决思路 解决方法 T1.直接去掉 T2.众多网友好评的建议 解决 ...

  2. 已解决AttributeError: ‘Document‘ object has no attribute ‘convertToPDF‘

    已解决AttributeError: 'Document' object has no attribute 'convertToPDF' 文章目录 报错代码 报错翻译 报错原因 解决方法 帮忙解决 报 ...

  3. 已解决AttributeError set object has no attribute items(亲测)

    AttributeError: 'set' object has no attribute 'items' 出现这个问题,原因可能是定义的header有问题 正确如下: header={"k ...

  4. 解决AttributeError: ‘str‘ object has no attribute ‘append‘

    很明显这是字符串不能完成append的函数 这里举一个我遇到的例子, 在这里.你需要改正一下方法. 将32行改成 imagese.append(str(count)), 需要注意的是字符串的方法有很多 ...

  5. 解决AttributeError: 'str' object has no attribute 'decode'报错问题

    顺着报错文件点进去,找到query = query.decode(errors='replace') 将decode修改为encode即可

  6. 成功解决keras库中出现AttributeError: ‘str‘ object has no attribute ‘decode‘

    成功解决keras库中出现AttributeError: 'str' object has no attribute 'decode' 目录 解决问题 解决思路 解决方法 解决问题 Attribute ...

  7. 成功解决tensorflow.keras: AttributeError: ‘str‘ object has no attribute ‘decode‘

    tensorflow.keras: AttributeError: 'str' object has no attribute 'decode' 出现该问题,解决分两步首先检测自身的版本是否对应, 然 ...

  8. sklearn使用FeatureHasher处理字符串特征: AttributeError: ‘str‘ object has no attribute ‘items‘

    sklearn使用FeatureHasher处理字符串特征: AttributeError: 'str' object has no attribute 'items' 目录 sklearn使用Fea ...

  9. AttributeError: 'str' object has no attribute 'decode' django问题

    AttributeError: 'str' object has no attribute 'decode' 错误代码:query = query.encode(errors='replace') 解 ...

最新文章

  1. 数据标准化 - scale() - Python代码
  2. bind mysql django_Django+bind dlz DNS管理平台
  3. 实现连接池技术的样例
  4. 中兴有救了!百度又要 All in 视频?联想回应“反对预装国产系统” | CSDN极客头条...
  5. 基于智能电网的电力线载波通信研究
  6. 一款比PowerDesigner好用的uml建模工具chiner
  7. 景区门票预约系统_无预约,不出游!免费景区门票赶紧预约~
  8. Python笔记17-Dma指标算法
  9. 汽车内饰胶市场现状及未来发展趋势
  10. Vue为啥可以成为2019年的一匹黑马?
  11. 多线程顺序执行四种方案
  12. vue中使用i18n
  13. Unity3D——学习分享(一) 游戏开发
  14. winner is not quitter!quitter is not winner!
  15. Beacon模式下的设置!
  16. 《概率与数理统计》知识点【更新中】
  17. Python案例学习—yuC
  18. 相控阵雷达天线与MIMO天线的区别
  19. linux虚拟机镜像文件制作,qemu制作CentOS 7虚拟机镜像文件
  20. 如何打开大容量的Excel文档?

热门文章

  1. Win10-VMware网络配置NAT模式
  2. Xmanager连接linux桌面以及linux安装虚拟机
  3. 怎么编写Linux脚本循环语句,shell脚本及常用循环语句
  4. 66键盘设置添加键盘使用方法
  5. lda 协方差矩阵_协方差矩阵概念及计算
  6. MySQL5.7分词全文检索
  7. 土木专业学python有什么用-读土木工程(结构)的学 Python 有用吗?
  8. SEEDLAB2.0-Spectre Attack Lab
  9. lvs+nginx负载均衡
  10. maven-assembly-plugin使用的心得