我正在尝试用简单的数据框构建一个箱形图。我拿了一个多列,只拿了我需要的两个:
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(),但似乎都没有解决它。
答案 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')