pandas 按照特定顺序输出的实现代码
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');
总结
相关推荐
三石 2020-10-30
roamer 2020-10-29
三石 2020-10-29
wangquannuaa 2020-10-15
wangquannuaa 2020-09-29
jzlixiao 2020-09-15
wangquannuaa 2020-08-30
三石 2020-08-23
逍遥友 2020-08-21
jzlixiao 2020-08-18
wangquannuaa 2020-08-17
QianYanDai 2020-08-16
cjsyrwt 2020-08-14
jzlixiao 2020-07-29
xirongxudlut 2020-07-20
mmmjyjy 2020-07-16
QianYanDai 2020-07-05
QianYanDai 2020-07-05
june0 2020-07-04