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设计】网站的支持!

相关文章

Opencv-Python图像透视变换cv2.warpPerspective的示例

Opencv-Python图像透视变换cv2.warpPerspective的示例

Opencv-Python图像透视变换cv2.warpPerspective 代码如下: # -*- coding:utf-8 -*- import cv2 import numpy...

Django实战之用户认证(初始配置)

前两篇讲述了Django的理论,从这篇开始,我们真正进入Django实战部分,今天先从用户认证开始。 当大家平时打开一个网站时,第一步一般做什么?我猜大部分是先登录吧,所以我们就从用户认...

Python中使用strip()方法删除字符串中空格的教程

 strip()方法返回所有字符从开始及字符串的末尾(默认空格字符)被去除后的字符串的一个副本。 语法 以下是strip()方法的语法: str.strip([chars]...

pyv8学习python和javascript变量进行交互

python取得javascript里面的值 复制代码 代码如下:import PyV8 with PyV8.JSContext() as env1:   ...

python实现12306抢票及自动邮件发送提醒付款功能

python实现12306抢票及自动邮件发送提醒付款功能

#写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流。 只做技术交流、、、、、 嗯,程序结束后,自己还是得手动付款。 废...