【发布时间】:2020-08-06 17:37:21
【问题描述】:
我一直在寻找 pandas DataFrame 的可靠类型提示,但似乎找不到任何有用的东西。这个问题几乎没有触及表面Pythonic type hints with pandas?
通常,如果我想提示一个函数的类型,我会使用 DataFrame 作为输入参数:
import pandas as pd
def func(arg: pd.DataFrame) -> int:
return 1
我似乎找不到的是如何使用 混合 dtypes 键入提示 DataFrame。 DataFrame 构造函数仅支持完整 DataFrame 的类型定义。因此,据我所知,dtypes 的更改只能在之后使用 pd.DataFrame().astype(dtypes={}) 函数发生。
这里可行,但对我来说似乎不是很pythonic
import datetime
def func(arg: pd.DataFrame(columns=['integer', 'date']).astype(dtype={'integer': int, 'date': datetime.date})) -> int:
return 1
我遇到了这个包:https://pypi.org/project/dataenforce/ 有这样的例子:
def process_data(data: Dataset["id": int, "name": object, "latitude": float, "longitude": float])
pass
这看起来很有希望,但遗憾的是这个项目老旧且有缺陷。
作为一名数据科学家,我认为构建具有长 ETL 过程的机器学习应用程序很重要。
您使用什么?有人在 pandas 中输入提示他们的数据框吗?
【问题讨论】:
-
部分 - 我也找到了这个包,但每当我尝试使用它时,我都会收到这个错误
__init_subclass__() takes no keyword arguments不幸的是我不熟悉元类,无法自己解决这个错误。跨度>
标签: python pandas type-hinting