依索引設定Pandas DataFrame 單元格中的值
要依照其索引在Pandas DataFrame 中設定特定單元格值,請考慮以下內容:
使用df.set_value(索引, 列, value)
df.set_value() 允許您使用索引直接為儲存格指派值。但是,請注意,此方法將被棄用。
# Correct way: df.set_value('C', 'x', 10)
使用 df.at[index, column] = value
首選替代方法是使用 df .at[] 直接更新單元格值。此方法效率更高,並且提供更簡潔的語法。
df.at['C', 'x'] = 10
使用鍊式索引
注意:雖然它看起來可能很直觀使用鍊式索引來設定單元格值(例如,df.xs('C')['x'] = 10),該方法僅修改行或列的副本。若要直接修改原始 DataFrame,請使用 df.set_value() 或 df.at[]。
為什麼鍊式索引失敗
鍊式索引(例如df. xs('C')['x'] = 10) 建立一個新的DataFrame 對象,並引用原始資料幀資料。對此新物件所做的指派不會傳播到原始 DataFrame。
效能
基準顯示df.set_value() 是最快的選項,其次是df' x' = 10 且df.at['C', ' x'] = 10。但是,效能差異可能會有所不同,具體取決於DataFrame 大小和複雜性。
以上是如何透過索引有效地設定 Pandas DataFrame 單元格中的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!