用Python实现:输入PM2.5的值,判断是否存在空气污染
时间: 2023-05-24 10:01:55 浏览: 234
非常感谢您的提问。以下是Python代码实现PM2.5的空气污染判断:
```
PM_value = float(input("请输入PM2.5的值:"))
if PM_value <= 35:
print("空气质量优秀")
elif PM_value <= 75:
print("空气质量良好")
elif PM_value <= 115:
print("空气轻度污染")
elif PM_value <= 150:
print("空气中度污染")
elif PM_value <= 250:
print("空气重度污染")
else:
print("空气严重污染")
```
以上代码可以根据输入的PM2.5值判断出空气质量的等级,并输出对应的结果。希望可以对您有帮助!
相关问题
python实现ARIMA预测PM2.5
ARIMA(自回归积分滑动平均模型)是一种常用的时间序列分析和预测方法。在Python中,可以使用statsmodels包来实现ARIMA模型。
下面是使用ARIMA模型预测PM2.5的示例代码:
首先,导入相关的库和数据集:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA
from sklearn.metrics import mean_squared_error
# 读取数据集
data = pd.read_csv('PM2.5.csv', parse_dates=['date'], index_col='date')
```
接着,对数据进行预处理,包括缺失值处理、平稳性检验和差分等:
```python
# 缺失值处理
data = data.fillna(data.mean())
# 平稳性检验
diff1 = data.diff(1)
diff1 = diff1.dropna()
adf = sm.tsa.stattools.adfuller(diff1['PM2.5'])
print('ADF统计量: %f' % adf[0])
print('p-value: %f' % adf[1])
print('1阶差分后序列的白噪声检验结果为:', sm.stats.acorr_ljungbox(diff1, lags=1))
# 差分
diff2 = data.diff(2)
diff2 = diff2.dropna()
```
接下来,使用ARIMA模型进行拟合和预测:
```python
# 拟合模型
model = ARIMA(data, order=(1,1,1))
model_fit = model.fit(disp=0)
# 预测
forecast = model_fit.forecast(steps=12)[0]
```
最后,计算预测误差并可视化预测结果:
```python
# 计算预测误差
rmse = np.sqrt(mean_squared_error(data[-12:], forecast))
print('RMSE: %.3f' % rmse)
# 可视化预测结果
plt.plot(data[-24:])
plt.plot(forecast, color='red')
plt.xlabel('date')
plt.ylabel('PM2.5')
plt.legend(['actual', 'predicted'])
plt.show()
```
完整代码如下:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA
from sklearn.metrics import mean_squared_error
# 读取数据集
data = pd.read_csv('PM2.5.csv', parse_dates=['date'], index_col='date')
# 缺失值处理
data = data.fillna(data.mean())
# 平稳性检验
diff1 = data.diff(1)
diff1 = diff1.dropna()
adf = sm.tsa.stattools.adfuller(diff1['PM2.5'])
print('ADF统计量: %f' % adf[0])
print('p-value: %f' % adf[1])
print('1阶差分后序列的白噪声检验结果为:', sm.stats.acorr_ljungbox(diff1, lags=1))
# 差分
diff2 = data.diff(2)
diff2 = diff2.dropna()
# 拟合模型
model = ARIMA(data, order=(1,1,1))
model_fit = model.fit(disp=0)
# 预测
forecast = model_fit.forecast(steps=12)[0]
# 计算预测误差
rmse = np.sqrt(mean_squared_error(data[-12:], forecast))
print('RMSE: %.3f' % rmse)
# 可视化预测结果
plt.plot(data[-24:])
plt.plot(forecast, color='red')
plt.xlabel('date')
plt.ylabel('PM2.5')
plt.legend(['actual', 'predicted'])
plt.show()
```
其中,数据集可以从公开数据集网站或者相关的政府部门网站下载。在代码中,我们假设数据集已经被读取并且包含一个名为“PM2.5”的列,在这一列上进行预测。同时,我们使用ARIMA模型的(1,1,1)参数进行拟合和预测。最后,我们使用RMSE指标评估预测结果的精度,并可视化预测结果和真实值。
输入pm2.5输出空气质量python
代码怎么写?
可以使用以下的代码来实现输入 PM2.5 值,输出空气质量等级:
```
pm25 = input("请输入 PM2.5 值:")
pm25 = float(pm25)
if pm25 < 35:
print("空气质量优,适合户外活动")
elif pm25 < 75:
print("空气质量良,可以进行正常活动")
elif pm25 < 115:
print("轻度污染,敏感人群应减少户外活动")
elif pm25 < 150:
print("中度污染,敏感人群应避免户外活动")
elif pm25 < 250:
print("重度污染,应减少身体负荷,避免户外活动")
else:
print("严重污染,应停止户外活动")
```
希望对您有所帮助!