title: Stacked Bar Plot By Group Count On Pandas Python
body: <p>My csv data looks something like the one provided below. I wanted to create a stack bar plot with pandas/python  where each bar represent male and female portions with two colors and on the top of the bar it shows the total count of both male and female taking the drug(in my case). For instance, for the Age of 20 fall total of 7 people and 6 of them are male and 1 is female so on the bar plot there should be 7 on the top of the bar and  this 6:1 portion is shown in the bar with two colors. I managed to group the people according to their age count and plot it but I wanted to show the bar  with two genders on different colors as well. Any help will be appreciated . Thank you. </p>
  
  <pre><code>Drug_ID,Age,Gender
  FF90E5F780133BBCAEE9BA0E4654C5CA,15,F
  2AB2529352E6A1D0BA91E167C5191231,17,M
  6E4B2C80EA83C5B51675BC077A182E06,19,M
  8AEB19A68DE4C301154973E0C87C774D,19,M
  FA533E7DD1FCAB83822D4A2FC514AEE7,20,F
  208F39485A8FBA7214CA004B53CC29B7,20,M
  3172B95E8A5732D2EDB089A354787612,20,M
  38FBAE52AAB04E56AB3A35C4AFBF3813,20,M
  62D8A33130574C984EAF3A2E80C243A6,20,M
  646AF35E192885FE1336649BA3735FC4,20,M
  778D2B1354F30ED3D3BDD7B9437CF670,20,M
  891312933FE5FB25703B3E958EF943E3,21,F
  5CC63DFC5EF399F65CB9BC583A770DFB,21,M
  97C9ED5750EC6FF618A059085F0BF4A6,21,M
  C6F03C5E3CC37249E0308A09292F5A58,21,M
  0713C427BDC3A90F291AF49599987F38,23,F
  518EBD35FCDAB7C744334F993D8CEB28,23,F
  A3FC185C4531AFF1E8B7B9F5985028CB,23,F
  1837406921314CB182FB0C7BC5565204,23,M
  CA0E6274BD39E8DE5C823F4E6F234252,23,M
  E2F64030BB011C11541EDC192BAED09A,23,M
  EF8F3D028C5759858AB7574864833015,23,M
  5DCD427F26E05CC1C3F565BB05EAE10B,24,F
  8646ED503722C3C6C6B44208EF1A5202,24,F
  F9F45112C472282778E1F437F54B0B70,24,F
  0CF4F20B89303CB4C03CF3BD3B27CAF0,24,M
  63727039DFF77A46995DA8EDBC4E3497,24,M
  
  import matplotlib.pyplot as plt
  import pandas as pd
  import numpy as np
  
  data = pd.read_csv('/home/MedResearch/Desktop/drug_ids_age_gender.csv')
  data.values
  
  df = pd.DataFrame(data)
  df2 = pd.merge(df1,df,  left_index = True, right_index = True)
  temp1 = df2.groupby('Age').Age.count()
  
  df3 = pd.merge(df1,df,  left_index = True, right_index = True)
  temp2 = df3.groupby('Gender').Age.count()
  
  ax = temp1.plot(kind='bar',stacked = False, colormap = 'Paired')
  for p in ax.patches:
      ax.annotate(np.round(p.get_height(),decimals=0), (p.get_x()+p.get_width()/2.,   p.get_height()), ha='center', va='center', xytext=(2, 10), textcoords='offset points')
  plt.ylabel('Numbers Of Patients Taking the drug')
  plt.title('Age Distribution Of Patients Based Upon drug Intake')
  plt.show()
  </code></pre>
  
  <p>Got something like this as a result:</p>
  
  <p><a href="https://i.stack.imgur.com/hcwc6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/hcwc6.png" alt="enter image description here"></a></p>