类型错误:类型别名不能与 isinstance() 一起使用

问题描述 投票:0回答:1

自从我将 pandas 升级到 0.23.0 以来,我在运行一行删除空格时收到此错误

df.any_column = df.any_column.str.replace(' ','')

我收到的错误消息如下:

/usr/local/lib/python3.5/dist-packages/pandas/core/strings.py in replace(self, pat, repl, n, case, flags, regex)
   2427     def replace(self, pat, repl, n=-1, case=None, flags=0, regex=True):
   2428         result = str_replace(self._data, pat, repl, n=n, case=case,
-> 2429                              flags=flags, regex=regex)
   2430         return self._wrap_result(result)
   2431

/usr/local/lib/python3.5/dist-packages/pandas/core/strings.py in str_replace(arr, pat, repl, n, case, flags, regex)
    637         raise TypeError("repl must be a string or callable")
    638
--> 639     is_compiled_re = is_re(pat)
    640     if regex:
    641         if is_compiled_re:

/usr/local/lib/python3.5/dist-packages/pandas/core/dtypes/inference.py in is_re(obj)
    217     """
    218
--> 219     return isinstance(obj, re_type)
    220
    221

/usr/lib/python3.5/typing.py in __instancecheck__(self, obj)
    258
    259     def __instancecheck__(self, obj):
--> 260         raise TypeError("Type aliases cannot be used with isinstance().")
    261
    262     def __subclasscheck__(self, cls):

TypeError: Type aliases cannot be used with isinstance().

我该如何解决这个问题?

python python-3.x pandas string
1个回答
13
投票

这是 Python 3.5.2 及更低版本中的一个错误。要么升级你的Python(像3.5.4或更新的版本应该可以工作),要么等到下一个pandas版本,其中包括修复:https://github.com/pandas-dev/pandas/pull/21098

© www.soinside.com 2019 - 2024. All rights reserved.