python中对表df中的乖离率一列的数据设置阈值,指标历史分位数需高出规定阈值时才能判定处于拥挤状态,这个指标分位数阈值为80%,当历史数据低于阈值时判断处于拥挤状态,设置拥挤指标为1,否则为0
时间: 2024-03-05 13:49:09 浏览: 7
好的,你的问题是如何在Python中对表df中的乖离率一列的数据设置阈值,并判断是否处于拥挤状态,拥挤指标为1,否则为0,其中指标历史分位数需高出规定阈值时才能判定处于拥挤状态,分位数阈值为80%,当历史数据低于阈值时判断处于拥挤状态。
可以使用pandas库中的quantile()函数来计算指标历史分位数。具体实现步骤如下:
1. 计算乖离率(假设该列名为‘gap’)的历史分位数,即80%分位数。
```
threshold = df['gap'].quantile(0.8)
```
2. 判断该列中的每个值是否高于阈值。
```
df['crowded'] = (df['gap'] > threshold).astype(int)
```
3. 判断历史数据是否低于阈值,如果低于阈值,则将拥挤指标设为1。
```
df.loc[df['gap'] < threshold, 'crowded'] = 1
```
完整代码如下:
```
import pandas as pd
# 读取数据表
df = pd.read_csv('your_file.csv')
# 计算历史分位数
threshold = df['gap'].quantile(0.8)
# 判断每个值是否高于阈值
df['crowded'] = (df['gap'] > threshold).astype(int)
# 判断历史数据是否低于阈值
df.loc[df['gap'] < threshold, 'crowded'] = 1
```
希望能解决你的问题!
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)