取分位数并做图

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体 SimHei为黑体

'''
筛选数据
'''
cell = pd.read_csv(r'D:\data\python_examlples\highway85\highway_speed_202407.csv')
user_cols = ['TIMESTAMP', 'ROAD_ID', 'SPEED', 'SOURCE']
cell = cell[user_cols]
cell_5 = cell[(cell['SOURCE'] == 5) & (cell['ROAD_ID'] == 32699)]

'''
排序,取分位数
'''
cell_5 = cell_5.sort_values(by='SPEED')
p85 = cell_5['SPEED'].quantile(0.85)

'''
设置索引
'''
cell_5 = cell_5.reset_index(drop=True)  # 重新生产索引
cell_5 = cell_5.reset_index(drop=False)  # 将新的索引作为一列加入dataframe

'''
作图
'''
ax = line = cell_5.plot(x='index', y='SPEED', title='区间速度排序', legend=False)
plt.xlabel('顺序')
plt.ylabel('速度km/h')
ax.axhline(y=p85, linewidth=1, color='r', linestyle='--')  # 增加水平线
yticks = list(range(60, 120, 10))
yticks.append(p85)
ax.set_yticks(yticks)
plt.show()

效果图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值