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