出现问题的原因是DataFrame对象没有定义apply方法。apply方法是Series对象和DataFrame对象的一种数据操作方法,用于对数据进行批量处理。
解决办法有两种:
1. 使用apply方法的另外一种形式——applymap
applymap方法可以对DataFrame中的所有元素进行操作,与apply方法不同的是apply方法只能对DataFrame中的行或列进行操作。
示例代码:
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]})
df.applymap(lambda x: x * 2)
2. 使用apply的另一种形式——apply函数
apply方法可以分别对DataFrame中的每一行或每一列进行操作,返回一个Series对象。
示例代码:
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]})
df.apply(lambda x: x * 2)
上述两种方法都可以实现对DataFrame对象的操作,解决AttributeError的问题。需要根据具体场景和需求选择合适的方法。
此文章发布者为:Python技术站作者[metahuber],转载请注明出处:http://pythonjishu.com/pandas-error-31/