[英]plot histogram for many columns quickly using groupby function of pandas dataframe
我有一個熊貓數據框,看起來像 這里的一列稱為label ,它只能采用兩個可能的值0或1。
我想分別為標簽1和標簽0制作直方圖
我可以使它成為以下列之一(名為“ MA_CL05”):
temp = infile.groupby('label')
for k, v in temp:
if k == 1:
v.MA_CL05.hist(label='1',figsize=(15,15),bins=25,alpha=1.0,histtype = 'step',lw=4)
if k == 0:
v.MA_CL05.hist(label='0',figsize=(15,15),bins=25,alpha=1.0,histtype = 'step',lw=4)
plt.legend(loc=1, prop={'size': 51})
plt.show()
我可以復制並粘貼所有20列的補丁,這很好。 但是,有沒有一種簡單的方法可以一次性繪制出類型( 2 )的直方圖?
您可以添加另一個循環,圍繞數據框的列循環並指定要繪制到的軸。
fig, axes = plt.subplots(4,5)
for col,ax in zip(infile.columns[2:],axes.flatten()):
temp = infile.groupby('label')
for k, v in temp:
v[col].hist(label=str(k),bins=25,alpha=1.0,histtype = 'step',lw=4, ax=ax)
plt.legend(loc=1, prop={'size': 51})
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.