KeyError:尝试使用熊猫构建箱线图时项目不在索引中

Posted

技术标签:

【中文标题】KeyError:尝试使用熊猫构建箱线图时项目不在索引中【英文标题】:KeyError: item not in index while trying to build boxplot with pandas 【发布时间】:2018-09-07 16:57:15 【问题描述】:

我正在尝试从一个简单的数据框构建一个箱线图。我取一个多列,只取我需要的两列:

mydata = data[['addr_state','loan_amnt']].dropna().copy()
mydata['loan_amnt'] = mydata['loan_amnt'].astype(float)
mydata[:5]

addr_state  loan_amnt
0   AZ  5,000.00
1   GA  2,500.00
2   IL  2,400.00
3   CA  10,000.00
4   OR  3,000.00

mydata.columns

Index(['addr_state', 'loan_amnt'], dtype='object')

基本上,它是一堆状态量记录,我正在尝试为它构建蜡烛:

mydata.boxplot(column='addr_state')

KeyError: "['addr_state'] not in index"

我尝试了 set_index() 和 rebuild_index() 但似乎都没有修复它。

【问题讨论】:

【参考方案1】:

根据docs,column 参数应该是运行箱线图的数值(输入到groupby 而不是它的参数),by 参数应该是分组变量:

mydata.boxplot(column='loan_amnt', by='addr_state')

用随机数据演示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(1212)
mydata = pd.DataFrame('loan_amnt': np.random.randn(50)*100,
                       'tool': ["".join(np.random.choice(['pandas', 'r', 'julia',
                                         'sas', 'stata', 'spss'],1)) for _ in range(50)])

mydata.boxplot(column='loan_amnt', by='tool')

【讨论】:

以上是关于KeyError:尝试使用熊猫构建箱线图时项目不在索引中的主要内容,如果未能解决你的问题,请参考以下文章

使用熊猫的箱线图

更改熊猫中箱线图的面色

向熊猫数据框箱线图添加标签?

如何按中值对熊猫中的箱线图进行排序?

带有熊猫和 Jupyter 笔记本的交互式箱线图

熊猫中的时间序列箱线图