如何在DataFrame中按条件获取所需行

时间:2019-05-23 10:38:33

标签: python-3.x pandas

我有一个索引为post_code的DataFrame,其值为药品名称和比例。我怎样才能仅按字母顺序为每个邮政编码获得1种药品名称(某些邮政编码可能具有多个“ bnf_name”,且最大利率相同。在这种情况下,请按字母顺序第一个输入“ bnf_name”)

  post_code        bnf                        dev
  TR1 3ER  Senna_Tab 7.5mg                   0.33
  TR1 3ER  Oxybutynin HCl_Tab 2.5mg          0.33
  B26 1TH  Betnesol_Ear/Eye/Nose Dps 0.1%    0.16
  B26 1TH  Amoxicillin_Cap 500mg             0.16

所需结果:

   post_code        bnf                            dev
  TR1 3ER     Oxybutynin HCl_Tab 2.5mg             0.33
  B26 1TH     Amoxicillin_Cap 500mg                0.16

1 个答案:

答案 0 :(得分:-1)

您可能首先想通过两个索引post_code和列bnfsort_values,然后在保持第一次出现的情况下使用drop_duplicates:< / p>

df = df.sort_values(by=['post_code', 'bnf'])
df = df.drop_duplicates(subset=['post_code'], keep='first')