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

2023-11-26

我创建了一个 Pandas DataFrame

df = DataFrame(index=['A','B','C'], columns=['x','y'])

现在,我想为特定单元格分配一个值,例如行C和列x。换句话说,我想执行以下转换:

     x    y             x    y
A  NaN  NaN        A  NaN  NaN
B  NaN  NaN   ⟶   B  NaN  NaN
C  NaN  NaN        C   10  NaN

用这个代码:

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

然而,内容df没有改变。数据框再次仅包含NaNs。我怎样才能得到我想要的?


鲁克科技的回答, df.set_value('C', 'x', 10),远远快于我在下面建议的选项。然而,已经预计弃用.

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


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

df.xs('C')默认情况下,返回一个新的数据框有副本的数据,所以

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

仅修改这个新数据框。

df['x']返回一个视图df数据框,所以

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

修改df itself.

Warning:有时很难预测操作是否返回副本或视图。为此文档建议避免使用“链式索引”进行分配.


所以推荐的替代方案是

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

which does modify 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用索引设置 pandas DataFrame 中特定单元格的值 的相关文章

随机推荐

  • Go(lang) 中的地址空间是什么?

    我尝试了解 Go 中并发编程的基础知识 几乎所有的文章都使用这个词 地址空间 例如 所有 goroutine 共享相同的地址空间 这是什么意思 我尝试从 wiki 理解以下主题 但没有成功 http en wikipedia org wik
  • setTooltipText() 和 android:tooltipText 在 Nougat 中不起作用

    我有一个 ImageButton 当我对我的应用程序进行一些测试时 我发现我无法显示tooltipText在我的带有 Android N 设备的小米 Note 4 中 但它在我的带有 Android O 的三星 S8 上显示得非常好 知道为
  • 找不到中央目录记录的末尾

    我正在使用 C 程序下载 zip 文件 但收到错误 at System IO Compression ZipArchive ReadEndOfCentralDirectory at System IO Compression ZipArch
  • 当方法的签名定义为 Collection 时,为什么方法不能采用 Collection

    我有一个获取 SResource 对象列表的方法 public static List
  • 从 jQuery 调用 ASMX

    我试图从 jQuery 调用 ASMX 方法 但没有成功 以下是我的代码 我不明白我缺少什么 文件Something js function setQuestion ajax type POST data dataType json url
  • rbind data.frames 没有名称

    我想弄清楚为什么rbind加入没有名称的 data frames 时 函数无法按预期工作 这是我的测试 test lt data frame id rep c a b each 3 time rep 1 3 2 black 1 6 whit
  • 将阿拉伯语存储在 SQL 数据库中

    我尝试在 SQL 2008 数据库中存储阿拉伯字符串 但它转换为 问号 为什么 我该怎么办 您需要为 varchar char 列选择阿拉伯排序规则或使用 Unicode nchar nvarchar CREATE TABLE test c
  • C++11:重载无法解析递归 decltype

    在下面的代码中 我尝试构建类型网格 例如 之间float and int 将结果推广为float float join float f int return f float join float f float return f 然后我介绍
  • CSS - 允许 div 伸出其父级

    我一直在寻找一种方法来允许 div 脱离其父级 父级具有 float right 我试图单击它来切换显示 隐藏子元素 但子元素在 div 之后显示 隐藏 我想让它从父 div 中 突出 谢谢 您的解释不是很清楚 但这是一个右对齐父 div
  • 如何在seaborn中填充线图下的区域

    I want to fill the area under a line plot so it looks as the picture below 代替 基于以下 csv 文件构建 01 01 97 1 01 02 97 2 01 03
  • OpenGL 抑制 MFC 基于对话框的应用程序中的异常

    我有一个使用 MSVS2005 创建的 MFC 驱动的基于对话框的应用程序 这是我的问题一步一步 我的对话框上有按钮和相应的点击处理程序 代码如下 int i 0 i 3 我正在运行程序的调试版本 当我单击按钮时 Visual Studio
  • iOS 上的 JS 语音合成问题

    我最近实现了一个基本的 Web 应用程序 它依靠 Google 的 TTS URL 生成清晰的 MP3 文件以在前端播放 此后 这需要接受额外的安全检查 这意味着我必须更新代码库才能使用替代方法 其中一种替代方案是 javascript 的
  • Android 谷歌地图我的位置权限

    对于最新版本的 Android 您应该在使用用户的位置信息之前检查用户是否已授予您权限 我已经浏览了 android 文档 这是我想出的代码 我正在检查用户是否已授予权限 如果还没有 然后我们询问 然后有一个关于结果的回调函数等等 我已经多
  • 在java中打印对象时会发生什么

    class Data int a 5 class Main public static void main String args int b 5 Data dObj new Data System out println dObj Sys
  • 如何更新.txt文件中的java内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 例如我有一个名为file txt其中包含个人信息 身份证 姓名 工资 A123
  • 如何使用 MSAL-ANGULAR 读取角色/权限

    因此 我已经按照 msal Angular 中的说明成功地将 Azure AD 身份验证集成到我的 Angular 站点中 现在我正在寻求定义和利用角色和权限来提供对用户的更精细的控制能做和不能做 据我所知 我可以按照这组说明来定义角色 h
  • MongoDB:注册编解码器 (Java)

    我已经尝试了大约一个小时来注册我为我正在开发的游戏中的一个课程制作的编解码器 该类称为Item 我尝试了这三个地方的代码和建议 https mongodb github io mongo java driver 3 0 bson codec
  • 如何只下载页面的一部分?

    我的网站上有 100 个页面 但我只想下载部分页面而不是所有页面内容 我只想每个页面下载一盒 文件大小为 10 KB 为此 我使用 WebClient 和 htmlagilitypack WebClient Client new WebCl
  • 类名和类列表的区别

    在什么情况下应优先选择以下哪一项 btnElement classList add btn btnElement className btn 使用 classList 您可以添加或删除一个类 而不会影响任何 该元素可能具有其他元素 但是如果
  • 使用索引设置 pandas DataFrame 中特定单元格的值

    我创建了一个 Pandas DataFrame df DataFrame index A B C columns x y 现在 我想为特定单元格分配一个值 例如行C和列x 换句话说 我想执行以下转换 x y x y A NaN NaN A