问题描述
嗨 - 我是一名兽医,我想查看一些医疗数据 在数据框中。 df 由 100k 行(!) 组成,其中包括 一些名为“ClinicName”、“Induction Agent”和“Complication”的列 存在'(1 = 真,0 = 假)。下面的例子:
诊所名称 | 感应剂 | 并发症出现 |
---|---|---|
红山 | 丙泊酚 | 1 |
基督城 | 阿法森 | 0 |
红山 | 丙泊酚 | 1 |
伍斯特 | 丙泊酚 | 0 |
基督城 | 阿法森 | 0 |
德比 | 丙泊酚 | 0 |
伍斯特 | 阿法森 | 1 |
德比 | 丙泊酚 | 0 |
红山 | 丙泊酚 | 1 |
我想创建一个标准化的水平条形图,显示一个 每个 ClinicName 是否存在并发症,并按以下分组分组 诱导剂的类型。我已经成功地以这种形式做到了这一点:
complication_by_clinic = df.groupby(['ClinicName','Induction Agent'])['Complication Present'].
value_counts(normalize=False,sort=True,ascending=True,bins=None,dropna=True).unstack().tail(10)
complication_by_clinic.plot(kind='barh',stacked=True,figsize=[20,5],colormap='winter')
然而,我真正需要的是 sort_values 以便标准化值按升序或降序排列,并且条形图中的诱导剂的颜色彼此不同。然后,我希望能够使用 df.drop 删除所有归一化值小于特定数量(例如 0.1)的诊所数据。
(给出一些背景,原因是目前的卡方分析中,诱导剂和并发症存在的值为 0 显着扭曲了数据,因为一些诊所没有定期输入数据)
需要类似这样的东西来对值进行排序,但我做对了:
complication_by_clinic = df.sort_values(df.groupby(['ClinicName','Induction Agent'])['Complication Present'].sum()
但我也坚持对条形图中的“感应剂”进行不同的着色。非常感谢任何帮助 - 作为回报,请随时向我询问有关您宠物的问题!
这个prtscr链接显示了它目前的显示方式: [1]: https://i.stack.imgur.com/wZB8F.png 这就是我想要的样子: https://1drv.ms/u/s!Ajl7cdyxWsko6Qu6lZZDEVcHgDaa?e=3sShAK
[这里有一些额外的打印屏幕可能会有帮助
https://1drv.ms/w/s!Ajl7cdyxWsko6QxSYdylu-3CoC6H?e=hR1BfS ]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)