小编mis*_*oop的帖子

调试 Numpy VisibleDeprecationWarning(来自不规则嵌套序列的 ndarray)

从 NumPy 19.0 版开始,dtype=object从“参差不齐”的序列创建数组时必须指定。我面临着来自我自己的代码和使用线程的 Pandas 的大量数组调用,逐行调试使我无处可去。

我想弄清楚哪个调用导致了我自己的代码中的VisibleDeprecationWarning或来自 Pandas 的调用。我怎么能调试这个?我一直在查看源代码,但看不到在 Python 中调用此警告(仅在 numpy.core._multiarray_umath.cp38-win_amd64.pyd 中)。

debugging numpy python-3.x

28
推荐指数
4
解决办法
6万
查看次数

在数据类中解压 kwargs

kwargs我可以在创建数据类对象时使用,没有问题:

@dataclass()
class Data:
    name: str =         'Unnamed'
    additional: int =   None
    things: int =       None

dic = {'additional': 123, 'things': 456}
res = Data(name='Somename', **dic)
Run Code Online (Sandbox Code Playgroud)
Output: Data(name='Somename', additional=123, things=456)
Run Code Online (Sandbox Code Playgroud)

kwargs但是,当数据类不属于调用参数时,我想将其解包:

@dataclass()
class Data:
    name: str =         'Unnamed'
    additional: int =   None
    things: int =       None

    def __post_init__(self):
        self(**dic) #unpack kwargs to fields

dic = {'additional': 123, 'things': 456}
res = Data(name='Somename')
Run Code Online (Sandbox Code Playgroud)

python python-dataclasses

2
推荐指数
1
解决办法
4482
查看次数