首頁 >後端開發 >Python教學 >為什麼 pandas DataFrame 拋出 AttributeError: 'DataFrame' object has no attribute 'append'?

為什麼 pandas DataFrame 拋出 AttributeError: 'DataFrame' object has no attribute 'append'?

Barbara Streisand
Barbara Streisand原創
2024-12-07 12:11:12892瀏覽

Why Does pandas DataFrame Throw an AttributeError: 'DataFrame' object has no attribute 'append'?

錯誤:「DataFrame」物件沒有屬性「append」

嘗試將字典附加到DataFrame 物件時,出現下列錯誤可能會出現:

AttributeError: 'DataFrame'物件沒有屬性'append'

儘管 DataFrame 中明顯存在「append」方法,但可以透過了解其最近的刪除來解決此問題。

刪除原因

在 pandas 2.0 中,「append」方法已被棄用並最終被刪除,因為它的問題本質。使用者經常嘗試透過在循環中使用「append」來模仿 Python 列表行為,導致效率低下。 pandas 中的「append」不會修改原始 DataFrame,而是建立一個新的 DataFrame,導致重複插入的複雜度為 O(n)。

替代解

To將字典附加到DataFrame,建議使用兩種替代方法:

1. Pandas Concatenation (concat )

此方法將原始DataFrame與新行組合為一個 DataFrame。

2. Pandas Loc(僅適用於RangeIndex)

此方法透過將新行設定在DataFrame 中的下一個可用索引處來新增行。請注意,它僅在 DataFrame 具有 RangeIndex 時有效。

有效追加多行

如果需要追加多行,請考慮以下方法:

  1. 收集清單中的新行。
  2. 從列表。
  3. 將新的 DataFrame 連接到原始 DataFrame。

這可確保高效追加,同時避免重複「append」或「concat」操作的開銷。

以上是為什麼 pandas DataFrame 拋出 AttributeError: 'DataFrame' object has no attribute 'append'?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn