gpt4 book ai didi

python - Pandas 数据框的静态类型/模式

转载 作者:行者123 更新时间:2023-12-03 15:15:04 25 4
gpt4 key购买 nike

有没有办法“静态地”提示 Pandas DataFrame 的模式,以便我们可以在编码期间获得代码完成、静态类型检查和一般的可预测性?

我不介意在代码中复制架构信息并键入注释以使其工作..

所以也许有点像 mypy 注释类型注释:

df = pd.DataFrame({'a': [1.0, 2.4, 4.5], 'B': [1,2,3]})  # pd.schema: ('a': np.dtype(float)), ('B': np.dtype(int))

(或者最好在某些外部 JSON 文件等中指定架构)

然后你可以对诸如 df. 之类的东西进行成像自动完成 编码期间 df.adf.B .或者 mypy(以及任何其他静态代码分析器)能够推断 df.B[0] 的类型诸如此类。

虽然充满希望,但我猜这不是真的可能(或想要的......)。如果是这样,编写返回 pd.DataFrame 的良好可重用代码的良好标准是什么?与特定列?所以想象有一个函数 get_data() -> pd.DataFrame返回带有预先知道的列的数据 - 您如何使其对使用此函数的用户透明?有什么比在函数的文档字符串中拼写更智能/更标准化的吗?

最佳答案

这可能是您已经知道的事情,但是获得您所追求的自动完成的可靠方法是在 Jupyter notebooks 中“实时”开发代码。 .它在数据科学应用程序中非常常用 - 对于您的实例,使用您在笔记本顶部查找的类型实例化 DataFrame 版本可能是合适的,然后 Jupyter 将为列和类型提供自动完成功能你编码。显然,在了解范围内的内容方面,它比 IDE 有很大优势,因为数据帧实际上是在您开发时加载到内存中的。
根据 above_c_level 的评论,dataenforcepytest 的连接看起来很有希望(即在开发代码后进行测试),但除非与您的 IDE 有一些奇特的集成,否则我认为它无法与 Jupyter 的对象“实时知识”相匹配。

关于python - Pandas 数据框的静态类型/模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55787022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com