使用字典更新 pandas DataFrame 行

2024-01-05

我在 pandas DataFrames 中发现了我不理解的行为。

df = pd.DataFrame(np.random.randint(1, 10, (3, 3)), index=['one', 'one', 'two'], columns=['col1', 'col2', 'col3'])
new_data = pd.Series({'col1': 'new', 'col2': 'new', 'col3': 'new'})
df.iloc[0] = new_data
# resulting df looks like:

#       col1    col2    col3
#one    new     new     new
#one    9       6       1
#two    8       3       7

但如果我尝试添加字典,我会得到以下结果:

new_data = {'col1': 'new', 'col2': 'new', 'col3': 'new'}
df.iloc[0] = new_data
#
#         col1  col2    col3
#one      col2  col3    col1
#one      2     1       7
#two      5     8       6

为什么会发生这种情况?在写这个问题的过程中,我意识到 df.loc 很可能只是从 new_data 中获取键,这也解释了为什么这些值是乱序的。但是,话又说回来,为什么会这样呢?如果我尝试从字典创建 DataFrame,它会像处理列一样处理键:

pd.DataFrame([new_data])

#    col1   col2    col3
#0  new     new     new

为什么这不是 df.loc 中的默认行为?


这是字典的迭代方式和 pandas 系列的处理方式之间的区别。

pandas 系列在分配给行时将其索引与列匹配,如果分配给列则与索引匹配。之后,它分配与匹配的索引或列对应的值。

当一个对象不是具有方便的索引对象来匹配的 pandas 对象时,pandas 将迭代该对象。字典会迭代它的键,这就是为什么您会在该行槽中看到字典键。字典未排序,这就是为什么您会在该行中看到打乱的键。

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

使用字典更新 pandas DataFrame 行 的相关文章

  • pycharm自动将制表符转换为空格

    我正在使用 pycharm IDE 进行 python 开发 它对于 django 代码来说工作得很好 因此怀疑将制表符转换为空格是默认行为 但是在 python IDE 中到处都会出现错误 因为它无法自动将制表符转换为空格 有没有办法实现
  • 如何将 Lisp 程序的输出转换为 Python?

    我有一个非常大的 Lisp 项目 我想以编程方式将其输出传输到 Python 程序 即使用 Python 在某些输入上调用 Lisp 程序并将输出返回到 Python 中 该项目仅在 Clozure Common Lisp ccl64 中编
  • PyCharm 中基于类型的自动补全

    我正在使用 PyCharm 进行 python 编码 PyCharm 中的自动完成功能不如 IntelliJ Java 中的自动完成功能 考虑下面的代码 a 1 2 3 4 a 在这种情况下 当我按下dot PyCharm 提供了全套自动完
  • 为什么 Sequence 是 mypy 中 + 不支持的操作数类型?

    mypy给出一个错误Sequence str 不是受支持的操作数类型 操作员 test py from typing import Sequence def test x Sequence str y Sequence str gt Seq
  • Python,针对频繁模式的网络日志数据挖掘

    我需要开发一个用于网络日志数据挖掘的工具 由于在特定用户会话中请求了许多 url 序列 从 Web 应用程序日志中检索 我需要找出网站用户的使用模式和组 集群 我是数据挖掘的新手 现在经常检查谷歌 发现一些有用的信息 即查询似乎指向几乎完全
  • 有没有办法可以保留子线程的上下文局部变量?

    目前 我创建了一个库来记录后端调用 例如对boto3 and requests库 然后根据一些数据 例如响应的状态代码等 填充全局 数据 对象 我原来有data对象作为全局的 但后来我意识到这是一个坏主意 因为当应用程序并行运行时 data
  • 如何为 apache beam 数据流的输出 csv 添加标头?

    我注意到在java SDK中 有一个函数可以让你编写csv文件的标题 https cloud google com dataflow java sdk JavaDoc com google cloud dataflow sdk io Tex
  • matplotlib中有制作散点图矩阵的函数吗?

    散点图矩阵示例 matplotlib pyplot中有这样的函数吗 对于那些不想定义自己的函数的人来说 Python 中有一个很棒的数据分析库 称为Pandas http pandas pydata org 在那里可以找到分散矩阵 http
  • 设置ntlk代理

    我正在关注第一章NLTK书 http www nltk org book ch01 html frequency distributions 它要求我们通过运行来安装图书语料库nltk dowwnload 我正进入 状态getattrinf
  • 如何在IDLE中同时运行两个模块

    我正在开发一个超级简单的套接字程序 我有客户端代码和服务器代码 如何同时运行这两个 py 文件以查看它们是否有效 您可以同时运行 IDLE Python shell 的多个实例 因此 打开 IDLE 并运行服务器代码 然后再次打开 IDLE
  • 启动robotframework-RIDE(机器人框架IDE)时出错

    我已经安装了Robot Framework并安装了wxPython 然后安装了Ride 当我通过执行启动它时python ride py 它会遇到如下错误 我相信这与wxPython版本有关 不确定 有一系列UnreprError像这样
  • 有没有办法向后遍历 dask 数据帧?

    我想要read parquet但从开始的地方向后阅读 假设索引已排序 我不想将整个镶木地板读入内存 因为这违背了使用它的全部意义 有什么好的方法可以做到这一点吗 假设数据帧已建立索引 索引的反转可以通过两步过程完成 反转分区的顺序并反转每个
  • 如何在Windows上安装PyGI(Python Gobject Introspection)?

    安装Python解释器 http python org ftp python 2 7 2 python 2 7 2 msi http python org ftp python 2 7 2 python 2 7 2 msi and http
  • f2py:公开“已使用”模块的参数

    我认为这个问题已经在某个地方得到解决 但我花了大量的时间四处寻找答案 包括深入研究源代码 我试图将问题放在第一段中 其余部分显示了问题的基本示例 我正在尝试编译一个包含USE指向另一个更通用的模块的语句 我更愿意将使用的模块分开 以便它可以
  • 持久子进程.Popen 会话

    我正在尝试运行一个命令 然后在同一环境中运行另一个命令 比如说 如果我在第一个命令中设置环境变量 我希望它可用于第二个命令 我试过这个 import subprocess process subprocess Popen echo test
  • pandas.algos._return_false 在 CentOS 上使用 dill.dump_session 导致 PicklingError

    我有一个代码框架 其中涉及使用 dill 转储会话 这曾经工作得很好 直到我开始使用 pandas 以下代码在 CentOS 6 5 版本上引发 PicklingError import pandas import dill dill du
  • 如何在 Python 中执行等效的 Excel INDEX MATCH

    我有一个问题 关于如何执行相当于使用 Excel 中的 INDEX MATCH 函数返回值并在 Python 中应用它的操作 作为一名对大型数据集执行数据分析和操作的 Excel 用户 为了提高效率 我已转向 Python 我试图做的是根据
  • 如何使用判别函数绘制 3 个类别之间的决策边界

    我有 3 个判别函数 将 2D 空间划分为 3 个区域 我想绘制这些区域之间的决策边界 我不知道如何在 python 中使用 matplotlib meshgrid 来做到这一点 对于2个判别函数 过程很简单 我计算值为 0 的函数和等高线
  • 在Python中使用argparse解析整个JSON

    我正在尝试使用 ARGPARSE 库在一个简单的参数中解析整个 Json 问题是当它遇到儿子内部的不同元素 例如 和 时 它会突然停止 这是测试代码 parse py import argparse parser argparse Argu
  • 从 pexpect 中提取 stderr

    我的问题很简单 我可以吗 expect 使用 pexpect 查看 stderr 上的某些输出 它似乎pexpect spawn 只能用于期望 stdout 上的输出 乌托邦的例子 import pexpect child pexpect

随机推荐

  • JavaFX TextArea onChange 事件

    开发者们美好的一天 JavaFX 组件 TextArea 是否支持某些事件 例如 onTextChange 或类似事件 是的 我知道 keyPressed keyTyped 但是如果另一个 操作 在 TextArea 上发生更改 例如 tx
  • 将输入整数写入单元格

    我自己正在编写一个快速应用程序 第一个项目 但是我试图找到用于将输入字符串的结果写入 Excel 中的命名单元格的 VBA 代码 例如 输入框询问问题 您想将哪个工作编号添加到列表中 然后用户将输入参考编号 例如 FX1234356 然后
  • 找到方程的数学算法

    我刚刚在 math stackexchange 上发布了一个数学问题 但我会向这里的人们询问一个以编程方式递归的算法 问题 填入从 1 到 9 的空白数字 每个空白一次且仅一次 以完成方程 附加条件 1 Mathematic priorit
  • 使用jquery按需加载tinymce

    这是我的脚本 ajaxSetup async false getScript http www mydomain com dev js tinymce tiny mce js function tinyMCE init document b
  • 在亚马逊s3 boto存储桶中设置特定权限

    我有一个名为 ben bucket 的存储桶 该存储桶内有多个文件 我希望能够为每个文件 URL 设置权限 我不太确定 但我假设我是否想要存储桶内每个文件的 URL 我的网址会是这样吗 https ben bucket s3 amazona
  • PyMC3 中的简单动态模型

    我正在尝试在 PyMC3 中构建一个动态系统模型 以推断两个参数 该模型是流行病学中常用的基本SIR dS dt r0 g S I dI dt g I r S 1 其中 r0 和 g 是要推断的参数 到目前为止 我根本无法走得太远 我见过的
  • opencv物体轮廓角点检测

    I have images of a smelting cube forming into a droplet over time So far i extracted the contour of it but next i d need
  • ASP.NET Core 3.0 Razor Pages 中的路由本地化

    我想在 ASP NET Core 3 0 Razor Pages 应用程序中使用路由本地化 https stackoverflow com a 52976625 107718 https stackoverflow com a 529766
  • 使 JPA EntityManager 会话失效

    我正在开发的一个项目使用 Spring 2 5 和 JPA 并以 Hibernate 作为提供程序 我的 DAO 类扩展了 JpaDaoSupport 因此我使用 getJpaTemplate 方法获取 JpaTemplate 后端数据库可
  • 在VB6中编译DLL时出现“加载DLL时出错”

    我有一个使用引用的 Visual Basic 6 dll 项目 当单击 文件 gt 生成 dll 选项时 它应该生成一个 dll 文件 好吧 当单击 文件 gt 生成 dll 时 我收到错误 加载 DLL 时出错 如何查看缺少哪些参考文献
  • 由 twine python 发布的包未出现在存储库中

    我正在尝试将我的 python 包发布到私有存储库 我是按照官方指南来的https packaging python org en latest tutorials packaging projects https packaging py
  • 如何在已被 Rails 转义的正则表达式中转义 \\ ?

    我试图将正则表达式存储在数据库中 但它们被 Rails 转义了 例如 w s s变成 w s s在数据库中以及检索时 我插入尝试将它们与 mystring sub regex variable 一起使用 但转义的正则表达式未按预期匹配 解决
  • Mongodb:如何检查点是否包含在多边形中?

    我有一个点数组 纬度 经度 中某个区域的点列表 我已经在这些数组上创建了一个索引 现在我想知道一个点是否在该多边形内部 MongoDB 可以吗 我已经尝试过这些命令但没有运气 gt polygonA 48 780809 2 307129 4
  • 具有左右标签的 UITableViewCell 的最佳方法

    我的应用程序有多个可选择的设置 例如枚举值 我想复制 iOS 的声音设置表视图单元格 其中名称位于左侧 所选值位于右侧 后面是公开指示器 gt 到目前为止 我的方法是创建一个自定义表格视图单元格 xib和定制UITableViewCell类
  • 如何使用 jQuery 或纯 JS 重置所有复选框?

    如何使用 jQuery 或纯 JS 重置文档中的所有复选框 如果您的意思是如何从所有复选框中删除 选中 状态 input checkbox removeAttr checked
  • 有没有适用于Python3的工作内存分析器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Python 2 中有一些工具 但一切似乎都已经过时了 我找到了 PySizer 和 Heapy 但一
  • 使用 LINQ 查找数组中的最小和最大日期?

    我有一系列带有属性的类Date i e class Record public DateTime Date get private set void Summarize Record arr foreach var r in arr do
  • 多少个线程太多了?

    我正在编写一个服务器 当收到请求时 我将每个操作发送到一个单独的线程中 我这样做是因为几乎每个请求都会进行数据库查询 我正在使用线程池库来减少线程的构造 销毁 我的问题是 对于这样的 I O 线程来说 什么是一个好的截止点 我知道这只是一个
  • 使用新标签页替换插件打开新标签时,如何保持地址栏清晰?

    我正在为 Firefox 开发一个新的标签页替换插件 安装后 当我单击新选项卡图标打开新选项卡时 新选项卡打开正常 但地址栏显示混乱的 URL 资源 firefox p at getblog dot com getblog buttons
  • 使用字典更新 pandas DataFrame 行

    我在 pandas DataFrames 中发现了我不理解的行为 df pd DataFrame np random randint 1 10 3 3 index one one two columns col1 col2 col3 new