您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用索引为pandas DataFrame中的特定单元格设置值

使用索引为pandas DataFrame中的特定单元格设置值

RukTech的答案,df.set_value('C', 'x', 10)远比我在下面建议的选项要快得多。但是,已将其淘汰。

展望未来,推荐的方法.iat/.at

为什么df.xs('C')['x']=10不起作用:

df.xs('C')认情况下,返回带有数据副本的新数据框,因此

df.xs('C')['x']=10

修改此新数据框。

df['x']返回df数据框的视图,因此

df['x']['C'] = 10

修改df自己。

警告:有时很难预测操作是否返回副本或视图。因此,文档建议避免使用“链接索引”进行赋值。

所以推荐的替代方法

df.at['C', 'x'] = 10

这不修改df

In [18]: %timeit df.set_value('C', 'x', 10)
100000 loops, best of 3: 2.9 µs per loop

In [20]: %timeit df['x']['C'] = 10
100000 loops, best of 3: 6.31 µs per loop

In [81]: %timeit df.at['C', 'x'] = 10
100000 loops, best of 3: 9.2 µs per loop
其他 2022/1/1 18:32:32 有192人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶