為什麼在 Pandas 複製 DataFrame 很重要?
檢索 DataFrame 的子集時,請理解為什麼程式設計師建議建立副本至關重要使用 .copy() 方法。預設情況下,對 Pandas 中的 DataFrame 進行子集化會傳回原始 DataFrame 的引用,這表示對子集所做的變更會影響父 DataFrame。
如果不複製會發生什麼事?
在不建立副本的情況下,對子DataFrame的任何修改都會直接改變父DataFrame。例如:
df = pd.DataFrame({'x': [1, 2]}) df_sub = df[0:1] df_sub.x = -1
如果您在這些變更後列印 df,您將看到第一行中的 x 值已變更為 -1,即使您只想修改子 DataFrame。
複製的好處
透過建立副本,您建立了一個新物件獨立於父 DataFrame。對副本所做的更改不會影響原始文件。當您想要對資料子集執行操作而不無意中修改整個 DataFrame 時,這一點至關重要。
df_sub_copy = df[0:1].copy() df_sub_copy.x = -1
在這種情況下,df 保持不變,保留其原始值。
注意: 需要強調的是,.copy() 方法在較新版本的 Pandas 中已被棄用。相反,建議使用 .loc 和 .iloc 索引方法,這允許您在確保資料完整性的同時對 DataFrame 進行切片。
以上是為什麼 Pandas 建議在子集 DataFrame 時使用 `.copy()`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!