Cir*_*oth 5 python pandas seaborn
我正在尝试在 Pandas 数据框中创建一个新列,表示每行的总和(在这种情况下,该数字表示导入时库随附的 Seaborn Flights 数据集中特定年份的乘客数量。这里是我的代码:
import pandas as pd
import seaborn
flights = seaborn.load_dataset('flights')
flights_indexed = flights.set_index(['year', 'month'])
# create a flights_unstacked DataFrame
flights_unstacked = flights_indexed['passengers'].unstack()
flights_unstacked['total'] = flights_unstacked.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)
我收到几个关键错误:
KeyError: 'total' 在处理上述异常的过程中,发生了另一个异常:...
我相信“关键”错误(双关语)是我也收到的类型错误:
类型错误:无法将项目插入还不是现有类别的 CategoricalIndex
有CategoricalIndex
,所以错误,因为total
在 中不存在categories
。
可能的解决方案是将列转换为字符串:
flights_unstacked.columns = flights_unstacked.columns.astype(str)
flights_unstacked['total'] = flights_unstacked.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)
或按CategoricalIndex.add_categories
以下方式添加类别:
flights_unstacked.columns = flights_unstacked.columns.add_categories('total')
flights_unstacked['total'] = flights_unstacked.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)