使用python完成以下操作;1.读取文件city_temperature.csv,查看数据集形状和各列数据的缺失值总量 2.查看有缺失值的所有记录情况 3.用你认为最合理的方法处理日期缺失值和年月日异常值,查看处理后数据集形状,并将处理后的数据保存在文件data_temp_D.csv中 4.利用箱线图查看2019年1月广州市异常气温数据 5.将所有日均气温低于-700C的值设置为异常值,用NaN填充 6.查看巴黎市(Paris)2016年3月的异常气温记录,并在原表中删除 7.将原表中所有气温异常值用前一条记录填充,并将处理后的数据保存在文件data_temp_T.csv中
时间: 2024-03-12 18:47:01 浏览: 165
好的,以下是使用Python完成以上操作的代码和步骤:
1. 读取文件city_temperature.csv,查看数据集形状和各列数据的缺失值总量
```python
import pandas as pd
# 读取csv文件
df = pd.read_csv('city_temperature.csv')
# 查看数据集形状
print('数据集形状:', df.shape)
# 查看各列数据的缺失值总量
print('各列数据的缺失值总量:\n', df.isnull().sum())
```
2. 查看有缺失值的所有记录情况
```python
# 查看有缺失值的所有记录情况
print('有缺失值的记录情况:\n', df[df.isnull().T.any().T])
```
3. 用你认为最合理的方法处理日期缺失值和年月日异常值,查看处理后数据集形状,并将处理后的数据保存在文件data_temp_D.csv中
```python
# 处理日期缺失值和年月日异常值
df['datetime'] = pd.to_datetime(df['datetime'], errors='coerce')
df = df[df['datetime'].notnull()]
df = df[df['datetime'].dt.year.between(1949, 2019)]
df = df[df['datetime'].dt.month.between(1, 12)]
df = df[df['datetime'].dt.day.between(1, 31)]
# 查看处理后数据集形状
print('处理后数据集形状:', df.shape)
# 将处理后的数据保存在文件data_temp_D.csv中
df.to_csv('data_temp_D.csv', index=False)
```
4. 利用箱线图查看2019年1月广州市异常气温数据
```python
import matplotlib.pyplot as plt
# 选择2019年1月广州市的数据
gz_201901 = df[(df['City'] == 'Guangzhou') & (df['datetime'].dt.year == 2019) & (df['datetime'].dt.month == 1)]
# 绘制箱线图
plt.boxplot(gz_201901['AvgTemperature'])
plt.show()
```
5. 将所有日均气温低于-70°C的值设置为异常值,用NaN填充
```python
# 将所有日均气温低于-70°C的值设置为异常值,用NaN填充
df.loc[df['AvgTemperature'] < -70, 'AvgTemperature'] = np.nan
```
6. 查看巴黎市(Paris)2016年3月的异常气温记录,并在原表中删除
```python
# 选择巴黎市(Paris)2016年3月的数据
paris_201603 = df[(df['City'] == 'Paris') & (df['datetime'].dt.year == 2016) & (df['datetime'].dt.month == 3)]
# 查看异常气温记录
print('巴黎市(Paris)2016年3月的异常气温记录:\n', paris_201603[paris_201603['AvgTemperature'] > 35])
# 在原表中删除异常气温记录
df = df.drop(paris_201603[paris_201603['AvgTemperature'] > 35].index)
```
7. 将原表中所有气温异常值用前一条记录填充,并将处理后的数据保存在文件data_temp_T.csv中
```python
# 将原表中所有气温异常值用前一条记录填充
df['AvgTemperature'] = df['AvgTemperature'].fillna(method='ffill')
# 将处理后的数据保存在文件data_temp_T.csv中
df.to_csv('data_temp_T.csv', index=False)
```
以上就是使用Python完成题目所需操作的代码和步骤,希望能对您有所帮助。
阅读全文