Pandas 如何将系列联接到数据帧:无法将非类别项追加到CategoricalIndex
我想我是按照指示做的,但我还是会犯这个错误,我不明白。我有一个DatFrame和一个系列,它们都具有相同的多索引,由级别“Woche”和“cluster”组成: 出现以下错误:TypeError:无法将非类别项附加到CategoricalIndex 我不明白。weekly.index.is_categorical()和df2.index.is_categorical()都产生FalsePandas 如何将系列联接到数据帧:无法将非类别项追加到CategoricalIndex,pandas,Pandas,我想我是按照指示做的,但我还是会犯这个错误,我不明白。我有一个DatFrame和一个系列,它们都具有相同的多索引,由级别“Woche”和“cluster”组成: 出现以下错误:TypeError:无法将非类别项附加到CategoricalIndex 我不明白。weekly.index.is_categorical()和df2.index.is_categorical()都产生False 我做错了什么?问题可能是每周。列——列,而不是索引——是一个分类索引。 比如说, import numpy a
我做错了什么?问题可能是
每周。列
——列,而不是索引——是一个分类索引。
比如说,
import numpy as np
import pandas as pd
nan = np.nan
weekly = pd.DataFrame(
{
"Woche": ["18w46", "18w46", "18w46", "18w46", "18w46"],
"cluster": ["0", "D", "E", "F", "G"],
"Base": [9.0, 5.0, 35.0, 7.0, 80.0],
"Major": [nan, nan, nan, 50.0, 15.0],
}
).set_index(["Woche", "cluster"])
weekly.columns = pd.CategoricalIndex(weekly.columns)
df2 = pd.DataFrame(
{
"Woche": ["18w46", "18w46", "18w46", "18w46", "18w46"],
"cluster": ["0", "D", "E", "F", "G"],
"Bruch": [9, 4, 1, 5, 94],
}
).set_index(["Woche", "cluster"])["Bruch"]
weekly.join(df2)
引发TypeError:无法将非类别项追加到CategoricalIndex
如果weekly.columns.is_category()
为True
,则可以通过将weekly.columns
设置为常规pd.Index
来避免此问题:
weekly.columns = weekly.columns.tolist()
到目前为止,对于一个令人费解的熊猫问题,我从来没有离开解决方案超过一行代码。我发现学习曲线和R一样陡峭,知道R是负担而不是帮助。两个都爱。谢谢
weekly.columns = weekly.columns.tolist()