Pandas DataFrame 访问器类型提示

2023-12-25

Pandas 允许您使用以下方法扩展其 DataFrame 类pd.api.extensions.register_dataframe_accessor()装饰师。

虽然这是功能性的,但它不提供任何额外的类型提示功能。

例如,我希望以下内容能够键入 check OK,甚至提供类型提示

import pandas as pd
@pd.api.extensions.register_dataframe_accessor('dataset')
class Extension:
    def __init__(self, df: pd.DataFrame):
        self._df = df
    
    def foo(self, bar) -> str:
        return "foobar";

foo = pd.DataFrame({"foo":["bar"]})
foo.dataset.foo("bar")
    ^
    No Suggestions

如何让数据帧访问器提供自动完成功能?


这可以通过使用有点 hackish 来完成typing.TYPE_CHECKING和一点继承。

from typing import TYPE_CHECKING
import pandas as pd
@pd.api.extensions.register_dataframe_accessor('dataset')
class Extension:
    def __init__(self, df: pd.DataFrame):
        self._df = df
    
    def foo(self, bar) -> str:
        return "foobar";

if TYPE_CHECKING:
    class DataFrame(pd.DataFrame):
        dataset: Extension

foo: 'DataFrame' = pd.DataFrame({"foo":["bar"]})
#    ^ you have to do this every time you transform the DataFrame
foo.dataset.foo("bar")
#           ^ autocomplete is now provided
            

不幸的是,PyCharm 不检查__annotations__字典,或者真正进行任何动态类型检查,因此似乎没有任何更通用的解决方案。

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

Pandas DataFrame 访问器类型提示 的相关文章

随机推荐

  • 如何使用GD检查GIF是否具有透明度?

    我找到了问题如何使用GD检查图像是否具有透明度 https stackoverflow com q 5495275但答案都是针对 PNG 文件的 是否有解决方案可以使用 GD 扩展在 PHP 中检查 GIF 图像是否具有透明度 我假设 al
  • 依赖算法 - 找到要安装的最小软件包集

    我正在研究一种算法 其目标是找到安装包 X 的最小包集 我将通过一个例子更好地解释 X depends on A and E or C A depends on E and H or Y E depends on B and Z or Y
  • 打开新选项卡时使用 JSF 受保护视图时出错

    我已经设置了我的 Web 应用程序 通过在 faces config protected views 中列出各个页面来防止 CSRF 这在本地运行时效果很好 但在部署到服务器后 我最终在打开页面链接时收到这些错误 javax faces a
  • brew install python3 没有安装 pip3

    我使用 homebrew 安装了 python3 但它没有安装 pip3 或者我应该说它已安装但它无法识别该命令 这是我所做的 brew install python3 这安装了 python3 但最后抛出了一个错误 说它无法链接 pyth
  • 如何通过缓存制作离线地图(使用leaflet OSM)?

    我正在尝试通过浏览器中的缓存 IndexedDB 制作离线地图 我理解的概念是 当连接到互联网时 我首先下载并存储地图的图块 然后我必须逻辑上离线加载图块 但是 我无法弄清楚 如何存储它们以及如何逻辑地再次加载它们 我被困在这里了 我正在使
  • 为什么CameraX.bindToLifecycle在1.0.0-alpha05中不支持三种情况?

    我正在学习CameraX API CameraXBasic是一个office示例代码 代码A基于CameraFragment kt https github com android camera samples blob master Ca
  • 部署App Engine应用程序时如何设置自定义版本?

    我正在部署一个符合 Google 应用引擎标准的应用程序 这是一个 Java Kotlin 应用程序 但问题不一定是特定于此的 我正在使用最新的 Gradle 插件 答案可能是特定于此的 就像这些年来一样 我指定了一个项目 ID 比方说我的
  • 在 webpack 中传递环境相关变量

    我正在尝试将 Angular 应用程序从 gulp 转换为 webpack 在 gulp 中 我使用 gulp preprocess 来根据 NODE ENV 替换 html 页面中的一些变量 例如数据库名称 使用 webpack 实现类似
  • Python tkinter 树视图列大小

    我有一个Treeview in tkinter Linux 上的 Python 3 6 但 Windows 上也会发生同样的情况 我用它来模拟一种电子表格布局 我的问题是 如果我运行下面的示例代码 并调整 第 1 列 的大小 那么随着 第
  • 导出ipa文件失败

    使用 Xcode v11 3 我尝试导出 IPA 文件并收到此错误 导出期间发生错误 因此无法读取数据 格式不正确 这显示在 IDEDistribution standard log 中 System Library Frameworks
  • Cruise 与 TeamCity 与 CruiseControl.net [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 单例 PDO 模型 - 层次结构

    抱歉英语不好 我是巴西人 更糟糕的是谈论编程 我们走吧 我有这个 class DataBase extends PDO var object PDO private static instance Cria uma inst ncia do
  • 查找:-exec 缺少参数

    今天我得到了一个命令的帮助 但它似乎不起作用 这是命令 find home me download type f name rm exec ffmpeg i sameq mp3 rm 外壳返回 find missing argument t
  • 重新启动 gif 动画而不重新加载文件

    是否可以重新启动 gif 动画而不需要每次都下载文件 我当前的代码如下所示 var img new Image img src imgages src myImage gif id css background image url img
  • java.io.InvalidClassException:没有有效的构造函数

    当我运行下面的程序时 我收到异常 java io InvalidClassException Files SerializationMain Files SerializationMain no valid constructor at j
  • Databricks JDBC 集成安全性

    帮助 我需要使用我的 Azure AD 凭据从 Azure databricks 集群连接到 SQL Azure 实例 我已经测试过了 我可以通过我的 Azure AD 凭据使用 SSMS SQL Server Management Stu
  • 订阅 Angular 2

    我希望我的 ngOnInit 函数做接下来的事情 使用 this structRequest sendRequest 发出一些数据的 http 请求 效果很好 并且在收到数据后开始使用 this viewNodes 函数查看它 我使用 su
  • 网站图标必须为 32×32 或 16×16 吗?

    我想使用单个图像作为常规图标和 iPhone iPad 友好图标 这可能吗 如果作为常规浏览器图标链接 iPad 友好的 72 72 PNG 会缩放吗 或者我是否必须使用单独的 16 16 或 32 32 图像 2020 年更新 坚持 16
  • 检测倾斜字体中单词之间的空格(条)

    我编写了一个 python 脚本来检测图像中编码的字母 该脚本正在使用openCV模板匹配匹配图像中嵌入的字符 字母 除空格 空格键 字符外 检测工作正常 Here is a sample image 在 python 中是否有一些 简单
  • Pandas DataFrame 访问器类型提示

    Pandas 允许您使用以下方法扩展其 DataFrame 类pd api extensions register dataframe accessor 装饰师 虽然这是功能性的 但它不提供任何额外的类型提示功能 例如 我希望以下内容能够键