pandas 按照特定顺序输出的实现代码

yipeiwu_com7年前Python基础

df.groupby() 之后按照特定顺序输出,方便后续作图,或者跟其他df对比作图。

## 构造 pd.DataFrame
patient_id = ['71835318256532',
 '87791375711',
 '66979212649388',
 '46569922967175',
 '998612492555522',
 '982293214194',
 '89981833848',
 '17912315786975',
 '4683495482494',
 '1484143378533',
 '56866972273357',
 '7796319285658',
 '414462476158336',
 '449519578512573',
 '61826664459895']
week = ['tuesday',
 'tuesday',
 'wednesday',
 'monday',
 'tuesday',
 'monday',
 'friday',
 'tuesday',
 'monday',
 'friday',
 'saturday',
 'thursday',
 'wednesday',
 'thursday',
 'wednesday']
d = {'patient_id': patient_id, 'week':week}
test = pd.DataFrame(data=d)
## 聚类计数
test.groupby('week')['patient_id'].count()
## output
week
friday  2
monday  3
saturday  1
thursday  2
tuesday  4
wednesday 3
Name: patient_id, dtype: int64
## 按照特定顺序输出
ind = ['monday','tuesday','wednesday','thursday','friday','saturday']
test.groupby('week')['patient_id'].count()[ind]
## output
week
monday  3
tuesday  4
wednesday 3
thursday  2
friday  2
saturday  1
Name: patient_id, dtype: int64

作图效果如下

test.groupby('week')['patient_id'].count().plot(kind='bar');

这里写图片描述

ind = ['monday','tuesday','wednesday','thursday','friday','saturday']
test.groupby('week')['patient_id'].count()[ind].plot(kind='bar');

这里写图片描述

总结

以上所述是小编给大家介绍的pandas 按照特定顺序输出的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python遍历文件夹下所有excel文件

大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法: 1.如何读取excel文件 网上的版本很多,在xlrd模块基础上,找到一些源码...

Python使用面向对象方式创建线程实现12306售票系统

目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一...

Python装饰器用法实例总结

本文实例讲述了Python装饰器用法。分享给大家供大家参考,具体如下: 一、装饰器是什么 python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下...

Python3之不使用第三方变量,实现交换两个变量的值

method 1: a,b = b,a method 2: a = a+b b = a-b a = a-b 以上这篇Python3之不使用第三方变量,实现交换两个变量的...

基于Django静态资源部署404的解决方法

一. 静态资源static文件放在app中 确认django.contrib.staticfiles包含在INSTALLED_APPS中。 在settings文件中定义STATIC_UR...