在合并列中将两个数据帧与 pd.NA 合并会产生“TypeError:NA 的布尔值不明确”

2023-11-22

使用 Pandas 1.0.1,如果以下情况我无法合并

df = df.merge(df2, on=some_column)

yields

File /home/torstein/code/fintechdb/Sheets/sheets/gild.py, line 42, in gild
    df = df.merge(df2, on=some_column)
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/frame.py, line 7297, in merge
    validate=validate,
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 88, in merge
    return op.get_result()
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 643, in get_result
    join_index, left_indexer, right_indexer = self._get_join_info()
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 862, in _get_join_info
    (left_indexer, right_indexer) = self._get_join_indexers()
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 841, in _get_join_indexers
    self.left_join_keys, self.right_join_keys, sort=self.sort, how=self.how
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 1311, in _get_join_indexers
    zipped = zip(*mapped)
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 1309, in <genexpr>
    for n in range(len(left_keys))
File /home/torstein/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py, line 1918, in _factorize_keys
    rlab = rizer.factorize(rk)
File pandas/_libs/hashtable.pyx, line 77, in pandas._libs.hashtable.Factorizer.factorize
File pandas/_libs/hashtable_class_helper.pxi, line 1817, in pandas._libs.hashtable.PyObjectHashTable.get_labels
File pandas/_libs/hashtable_class_helper.pxi, line 1732, in pandas._libs.hashtable.PyObjectHashTable._unique
File pandas/_libs/missing.pyx, line 360, in pandas._libs.missing.NAType.__bool__

TypeError: boolean value of NA is ambiguous

虽然这有效:

df[some_column].fillna(np.nan, inplace=True)
df2[some_column].fillna(np.nan, inplace=True)
df = df.merge(df2, on=some_column)
# Works

如果相反,我这样做

df[some_column].fillna(pd.NA, inplace=True)

然后错误返回。


这与pd.NA正在实施于熊猫1.0.0以及 pandas 团队如何决定它应该在布尔上下文中工作。另外,您考虑到它是一个实验性功能,因此除了实验之外不应将其用于任何其他用途:

警告实验:pd.NA 的行为仍然可能会在没有警告的情况下发生变化。

在 pandas 文档的另一个链接中,它涵盖了处理缺失值,我相信可以找到您正在寻找的原因和答案:

布尔上下文中的 NA: 由于 NA 的实际值未知,因此将 NA 转换为布尔值是不明确的。以下引发错误: TypeError: NA 的布尔值不明确

此外,它还提供了一条有价值的建议:

“这也意味着 pd.NA 不能在计算为布尔值的上下文中使用,例如 if 条件:...其中条件可能是 pd.NA。在这种情况下,isna() 可用于可以避免检查 pd.NA 或 pd.NA 的情况,例如通过预先填充缺失值。”

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

在合并列中将两个数据帧与 pd.NA 合并会产生“TypeError:NA 的布尔值不明确” 的相关文章

  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 绘制随时间变化的分类数据计数

    我有一个数据框 df 其中有一列包含分类数据 ETH 带有 DateTimeIndex 我想绘制类别counts随着时间的推移 它们按天索引 我最好按年绘制它们 df pd DataFrame County 0 Bexar 3 Nueces
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • AFNetworking 2.0 从失败块中的代码 400 获取 JSON

    我在用着AFHTTPRequestOperationManager for a POST要求 现在我故意输入不正确的信息来处理400错误代码 现在 Web 服务实际上返回了一个JSON并向用户解释他们做错了什么的消息 我非常想得到这个JSO
  • Java集合binarySearch无法正常工作

    我只是尝试使用本机 Java 二进制搜索 希望它总能找到第一个出现的位置 但它并不总是返回第一次出现 我在这里做错了什么 import java util class BinarySearchWithComparator public st
  • 不带参数抛出失败信号

    直接打电话就可以吗throw 如果出现问题 您不知道如何恢复 这个想法是让应用程序因转储而崩溃 因为状态未知 或者你应该总是指定一个参数 从MSDN我只发现如果没有参数它会重新抛出 但不知道如果没有初始异常要重新抛出会发生什么 No thr
  • 当从另一个表中删除行时,如何使 PostgreSQL 将行插入到表中?

    我们有一个应用程序 它将根据用户请求从表中删除一行 我无法更改应用程序代码 但是 我想将一行插入到另一个表 有点像日志日志 中 其中包含来自其他几个表的信息 基于要删除的行的信息 我如何在 PostgreSQL 中实现这一目标 写一个触发函
  • Nuget 找不到更新的依赖项

    我刚刚在 ASP 5 MVC 6 beta8 中创建了一个新项目和一个用于测试的兼容类库 问题出现在我打算用于测试的这个新的 Web 类库 项目中 这是我的project json 的样子 version 1 0 0 description
  • Grails hasOne 与belongsTo

    要在 Grails 中创建一对一关系 我可以这样做 class Person static hasOne address Address 在这种情况下 地址表拥有其个人的密钥 我还可以这样做 class Address static bel
  • 将焦点设置在android中listview的任何项目上

    我有一个列表视图 其中包含文本视图作为其元素 现在我希望在启动应用程序时自动聚焦列表的第一项 当我单击其他视图 例如按钮 时 如何将焦点设置在列表中的任何项目上 设置选择和设置焦点是两个不同的事情 如果您只想将选择设置为某个项目 那么您可以
  • 由于 CORS 限制,无法使用 firebase 进行本地测试

    我当前的用例很简单 我只需要向我本地开发的云函数发出post请求 问题是 当我开火时 firebase serve 托管部署在本地主机 5000 并且云功能部署在本地主机 5001 由于端口不同 这两者来自不同的来源 因此 当浏览器发送初始
  • 如何处理对数图中的零

    问题 我想使用 ggplot2 将数据绘制在 y 轴上具有对数刻度的折线图中 不幸的是 我的一些价值观一路下降到零 数据表示依赖于某些参数的特征的相对出现 当在样本中没有观察到该特征时 值为零 这意味着它很少出现 或者实际上从未出现 这些零
  • Android游戏RPG库存系统

    我使用 ArrayList 作为我的 库存 我无法找到一种方法来添加多个相同的物品而不占用 库存 中的位置 例如 我在库存中添加了一瓶药水 现在我添加了另一种药水 但这次不是在库存中添加另一种药水 而是应该显示我有 药水 x 2 同时只占用
  • 获取 Urllib2.Request 的请求标头?

    有没有办法从使用 Urllib2 创建的请求中获取标头或确认使用 urllib2 urlopen 发送的 HTTP 标头 查看请求 和响应标头 的一种简单方法是启用调试输出 opener urllib2 build opener urlli
  • llvm JIT 将库添加到模块

    我正在开发一个使用 LLVM 的 JIT 该语言有一个用 C 编写的小型运行时 我使用 clang 将其编译为 LLVM IR clang runtime cu cuda gpu arch sm 50 c emit llvm 然后加载 bc
  • Hadoop 流 - 从减速器输出中删除尾随选项卡

    我有一个 hadoop 流作业 其输出不包含键 值对 您可以将其视为仅值对或仅键对 我的流式减速器 一个 php 脚本 正在输出由换行符分隔的记录 Hadoop 流处理将此视为没有值的键 并在换行符之前插入一个制表符 这个额外的选项卡是不需
  • 获得 Cassandra Writes 背压的最佳方法是什么?

    我有一项服务以我控制的速率消耗队列中的消息 我做了一些处理 然后尝试通过 Datastax Java 客户端写入 Cassandra 集群 我已经设置了我的 Cassandra 集群maxRequestsPerConnection and
  • 使用友元函数进行前向声明:不完整类型的使用无效

    include
  • 如果我不需要用户访问令牌,如何使用请求从 Python 连接到 Facebook Graph API?

    我正在尝试找到如何使用我最喜欢的 Facebook Graph API 的最简单方法Requests图书馆 问题是 我发现的所有例子都是关于获取用户访问令牌 关于重定向和用户交互 我所需要的只是应用程序访问令牌 我不处理任何非公开数据 因此
  • std::list 应该被弃用吗?

    根据 Bjarne Stroustrup 的说法slides从他的2012 年本土化主题演讲 在a中插入和删除std list在现代硬件上效率非常低 矢量节拍列表大量用于插入和删除 如果这确实是真的 那么还剩下哪些用例std list 那不
  • DataTrigger 不会更改 Text 属性

    我正在尝试在样式上使用数据触发器来更改属性 符合 最小 完整且可验证的示例 要求 要重现 首先在 Visual Studio 中创建一个 WPF 应用程序 在 App xaml cs 内 using System ComponentMode
  • 405(方法不允许)并被 CORS 策略阻止

    我有 Asp Net Core 3 WebApi 项目 其 UI 基于客户端的 Angular 7 2 1 当使用 Postman 或仅使用 URL 时 我可以使用 GET 和 POST 而不会出现任何特定错误 当通过 Angular Ch
  • 在合并列中将两个数据帧与 pd.NA 合并会产生“TypeError:NA 的布尔值不明确”

    使用 Pandas 1 0 1 如果以下情况我无法合并 df df merge df2 on some column yields File home torstein code fintechdb Sheets sheets gild p