夏林钟
2021-11-26 14:57
采纳率: 96.7%
浏览 33
已结题

pandas怎么根据两列条件筛选excel表格?

问题遇到的现象和发生背景

有三家医院,分别为北京,上海,南京,也有三名医生,分别叫张三、李四、王五,zhang
我想用padans统计每家医院的医生出现的次数,例如下面这家表,在北京医院里,名字叫张三的医生出现了2次,李四出现了3次,王五出现了两次,
则我希望得到一个字典,
这个字典是这样的: {"北京协会":{"张三":2,"王五":2,"李四":3}
注意:不同的医院可能有重名的医生,最后我希望在把所有医院放到一个字典里去,如:
{"北京协会":{"张三":2,"王五":2,"李四":3},"上海医院:{"王五":1},"南京医院":{"张三":1}
该怎么操作。

img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • 陈.py 2021-11-26 15:45
    最佳回答
    
    import pandas as pd
    
    doctor = ['张三', '李四', '王五']
    hospital = ['上海医院', '南京医院', '北京协和']
    dic, fdic = {}, {}
    df1 = pd.read_excel('C:/Users/ueser/Desktop/test.xls')
    for i in hospital:
        for j in doctor:
            outfile = df1[(df1['卫生室'] == i) & (df1['医生'] == j)]
            dic.update({j: len(outfile)})
        fdic.update({i: dic})
    print(fdic)
    
    评论
    解决 无用
    打赏 举报 编辑记录

相关推荐 更多相似问题