按索引设置 Pandas DataFrame 的特定单元格中的值
在使用 Pandas 进行数据分析时,经常需要修改单个单元格的值在数据帧内。这可以使用各种方法来实现,包括 df. xs、df['列'] 和 df.at.
1。 df.xs(已弃用)
df.xs() 方法允许从 DataFrame 中选择特定行。但是,为返回行中的列分配值不会修改原始 DataFrame。相反,它会创建一个包含修改后的行的新 DataFrame。例如:
df.xs('C')['x'] = 10
2。 df['column']
使用 df['column'] 的链索引返回指定列的视图。为所选列分配值会直接修改原始 DataFrame。例如:
df['x']['C'] = 10
3。 df.at(推荐)
在 DataFrame 中设置特定单元格值的推荐方法是使用 df.at。该方法以行和列的索引为参数,直接将新值赋给指定单元格。它修改原始 DataFrame 而不创建新的 DataFrame。
df.at['C', 'x'] = 10
性能注意事项
对于大型 DataFrame,性能变得至关重要。基准测试表明,已弃用的 df.set_value 明显比 df['column'] 和 df.at 快。但是,由于 set_value 已被弃用,因此应该使用 df.at 作为今后推荐的方法。
结论
在 Pandas DataFrame 的特定单元格中设置值可以可以使用不同的方法来实现,每种方法都有自己的优点和性能特点。了解创建新 DataFrame 和修改现有 DataFrame 之间的区别是选择适当方法的关键。为了获得最佳性能和可维护性,建议使用 df.at,因为它直接修改原始 DataFrame,是设置单元格值的首选方法。
以上是如何有效地设置特定 Pandas DataFrame 单元格中的值?的详细内容。更多信息请关注PHP中文网其他相关文章!