如何解决AttributeError: 'DataFrame'对象无'concat'属性的问题
解决AttributeError: 'DataFrame' object has no attribute 'concat'
错误原因
concat()是pandas库的顶层工具函数,不属于DataFrame对象的实例方法。直接调用DataFrame实例的.concat()属性,必然触发属性不存在的错误。
修正方案
将调用方式从DataFrame对象的方法,改为调用pandas顶层的concat()函数,把需要合并的DataFrame(包括你的空DataFrame)放到列表中作为参数传入。
错误示例
import pandas as pd # 创建空DataFrame similarities_df = pd.DataFrame() # 错误:试图调用DataFrame实例的concat方法 similarities_df.concat([new_data_df])
正确示例
import pandas as pd # 创建空DataFrame similarities_df = pd.DataFrame() # 正确:调用pandas顶层的concat函数,传入要合并的DataFrame列表 similarities_df = pd.concat([similarities_df, new_data_df], ignore_index=True)
额外说明
- 如果只是要追加单行数据到空DataFrame,也可以用
pd.concat配合单行DataFrame实现:new_row = {"col1": "value1", "col2": "value2"} similarities_df = pd.concat([similarities_df, pd.DataFrame([new_row])], ignore_index=True) - 建议加上
ignore_index=True参数,重置合并后DataFrame的索引,避免出现重复索引的问题。
内容的提问来源于stack exchange,提问作者Moslem Jafarzadeh
相关产品推荐
相关产品推荐

