2
私はパンダのドキュメントを読んでおり、CategoricalIndex - MultiIndex/Advanced Indexingの最初の例に従うと、CategoricalDtype
クラスから来ているようです。ここで pandas CategoricalDtype:__new __()は1つの位置引数をとりますが、2が与えられました
>>> import pandas as pd
>>> import numpy as np
>>> from pandas.api.types import CategoricalDtype
>>> df = pd.DataFrame({'A': np.arange(6),'B': list('aabbca')})
>>> df
A B
0 0 a
1 1 a
2 2 b
3 3 b
4 4 c
5 5 a
>>> df['B'] = df['B'].astype(CategoricalDtype(list('cab')))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __new__() takes 1 positional argument but 2 were given
、私は私のコンソールpandas documentation - pandas.api.types.CategoricalDtypeに与えられた例では、入力されたが、エラーが解消されない:
>>> t = CategoricalDtype(categories=['b', 'a'], ordered=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __new__() got an unexpected keyword argument 'categories'
>>> pd.Series(['a', 'b', 'a', 'c'], dtype=t)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 't' is not defined
でしたCategoricalDtype
クラスに問題があるか、何か不足していますか?
あなたのパンダのバージョンは何ですか?私はこの問題をPandas 0.21.0 – MaxU
@MaxU私の悪いを使用して再現することはできません。私はバージョン0.20.1を持っていた。私はこのクラスがバージョン0.21.0の新機能であることに気付かなかった。更新され、すべて正常に動作します。 – Jazz