从 NumPy 19.0 版开始,dtype=object从“参差不齐”的序列创建数组时必须指定。我面临着来自我自己的代码和使用线程的 Pandas 的大量数组调用,逐行调试使我无处可去。
我想弄清楚哪个调用导致了我自己的代码中的VisibleDeprecationWarning或来自 Pandas 的调用。我怎么能调试这个?我一直在查看源代码,但看不到在 Python 中调用此警告(仅在 numpy.core._multiarray_umath.cp38-win_amd64.pyd 中)。
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)