KeyError:在尝试使用pandas构建boxplot时,项目不在索引中

时间:2018-03-28 21:02:01

标签: python pandas matplotlib plot indexing

我正在尝试用简单的数据框构建一个箱形图。我拿了一个多列,只拿了我需要的两个:

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 个答案:

答案 0 :(得分:2)

根据docs参数应该是数字值(输入到groupby而不是其参数)来运行boxplot和 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')

Boxplot Output