首页 >后端开发 >Python教程 >如何通过索引有效地设置 Pandas DataFrame 单元格中的值?

如何通过索引有效地设置 Pandas DataFrame 单元格中的值?

Linda Hamilton
Linda Hamilton原创
2024-11-30 18:02:12633浏览

How to Efficiently Set Values in Pandas DataFrame Cells by Index?

按索引设置 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn