ValueError: cannot use inplace with CategoricalIndex
ValueError: cannot use inplace with CategoricalIndex
我正在使用 pandas 0.18.
这失败了
cat_fields[f[0]].add_categories(s,inplace=True)
但是 docs 说
inplace : boolean (default: False)
Whether or not to add the categories inplace or return a copy of this categorical with added categories.
我是不是漏掉了什么?
我正在跨多个数据帧创建 categories/columns 的超集,最终能够将它们连接起来。
我的错误:
ValueError: cannot use inplace with CategoricalIndex
我认为您需要分配给原始列,因为 Series.add_categories
有 inplace
参数并且效果很好。
但在 CategoricalIndex.add_categories
中也有 inplace
参数,但它失败了。我认为这是错误。
cat_fields[f[0]] = cat_fields[f[0]].add_categories(s)
或:
cat_fields[f[0]] = cat_fields[f[0]].cat.add_categories(s)
样本:
cat_fields = pd.DataFrame({'A':[1,2,3]}, index=['a','d','f'])
cat_fields.index = pd.CategoricalIndex(cat_fields.index)
cat_fields.A = pd.Categorical(cat_fields.A)
print (cat_fields)
A
a 1
d 2
f 3
s = ['b','c']
cat_fields.A.cat.add_categories(s,inplace=True)
print (cat_fields.A)
Name: A, dtype: category
Categories (5, object): [1, 2, 3, b, c]
cat_fields.index.add_categories(s,inplace=True)
print (cat_fields)
ValueError: cannot use inplace with CategoricalIndex
我正在使用 pandas 0.18.
这失败了
cat_fields[f[0]].add_categories(s,inplace=True)
但是 docs 说
inplace : boolean (default: False)
Whether or not to add the categories inplace or return a copy of this categorical with added categories.
我是不是漏掉了什么?
我正在跨多个数据帧创建 categories/columns 的超集,最终能够将它们连接起来。
我的错误:
ValueError: cannot use inplace with CategoricalIndex
我认为您需要分配给原始列,因为 Series.add_categories
有 inplace
参数并且效果很好。
但在 CategoricalIndex.add_categories
中也有 inplace
参数,但它失败了。我认为这是错误。
cat_fields[f[0]] = cat_fields[f[0]].add_categories(s)
或:
cat_fields[f[0]] = cat_fields[f[0]].cat.add_categories(s)
样本:
cat_fields = pd.DataFrame({'A':[1,2,3]}, index=['a','d','f'])
cat_fields.index = pd.CategoricalIndex(cat_fields.index)
cat_fields.A = pd.Categorical(cat_fields.A)
print (cat_fields)
A
a 1
d 2
f 3
s = ['b','c']
cat_fields.A.cat.add_categories(s,inplace=True)
print (cat_fields.A)
Name: A, dtype: category
Categories (5, object): [1, 2, 3, b, c]
cat_fields.index.add_categories(s,inplace=True)
print (cat_fields)
ValueError: cannot use inplace with CategoricalIndex