我有一个csv文件,其中包含列'Applicant_Income
'和'Education'
。我可以绘制'Applicant_Income',但如何绘制'Applicant_Income'
的历史,其中'Education' = 'Graduate'
。
我尝试了箱线图中的某些内容,想要在直方图中类似的内容。
g1=df.boxplot('ApplicantIncome', by = 'Education')
答案 0 :(得分:0)
通常,您将要使用plt.hist
来表示直方图。从您的问题出发,尚不清楚是要过滤数据('Education' == 'Graduate'
)还是要为Education
中的每个组绘制单个直方图。
让我们生成示例数据
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.DataFrame({'ApplicantIncome': np.random.normal(500, 2000, 500),
'Education': np.random.choice(['Graduate', 'High School', 'Undergrad'], 500)})
ApplicantIncome Education
0 617.660998 Undergrad
1 1335.209849 Graduate
2 -966.902454 Undergrad
3 1775.496777 High School
4 -819.677673 Undergrad
现在,如果您只想绘制过滤后的数据:
df_grad = df[df['Education'] == 'Graduate']
plt.hist(df_grad['ApplicantIncome'])
如果要为每种教育状况绘制一个直方图:
for name, group in df.groupby('Education'):
plt.hist(group['ApplicantIncome'], label=name)