数据分析,对 链家北京租房数据分析文件中“面积”和“价格”列中检查是否存在异常数据,并对收集到的数据进行清洗,包括去重、填充缺失值、数据类型转换的代码
时间: 2023-07-16 09:13:25 浏览: 95
Python数据可视化分析大作业-链家新房数据分析与可视化(源码 + 文档 + PPT)
首先,我们需要导入相关的库和数据集:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('链家北京租房数据.csv', encoding='utf-8')
```
1. 检查异常数据
我们可以通过描述性统计量和可视化等方式来检查数据是否存在异常。
```python
# 描述性统计量
df.describe()
# 直方图
df.hist(column=['面积', '价格'], bins=50)
```
如果发现有数据明显偏离了整体分布,可以考虑将其视为异常值。
2. 去重
对于重复的数据,我们可以使用 `drop_duplicates()` 函数进行去重。在去重之前,我们可以先检查一下是否有重复数据:
```python
# 检查是否有重复数据
df.duplicated().sum()
# 去重
df.drop_duplicates(inplace=True)
```
3. 填充缺失值
可以使用 `fillna()` 函数来填充缺失值。常见的填充方法有平均值、中位数、众数等。我们可以先检查一下哪些列存在缺失值:
```python
# 检查缺失值
df.isnull().sum()
# 填充缺失值(以平均值为例)
df['面积'].fillna(df['面积'].mean(), inplace=True)
df['价格'].fillna(df['价格'].mean(), inplace=True)
```
4. 数据类型转换
在进行数据分析之前,我们需要将数据类型转换为适合分析的类型。比如,面积和价格应该是数值型数据,但有些数据集中可能将其识别为文本型数据。
```python
# 转换数据类型
df['面积'] = df['面积'].astype(float)
df['价格'] = df['价格'].astype(float)
```
最终的代码如下:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('链家北京租房数据.csv', encoding='utf-8')
# 检查异常值
df.describe()
df.hist(column=['面积', '价格'], bins=50)
# 检查重复数据
df.duplicated().sum()
df.drop_duplicates(inplace=True)
# 填充缺失值
df.isnull().sum()
df['面积'].fillna(df['面积'].mean(), inplace=True)
df['价格'].fillna(df['价格'].mean(), inplace=True)
# 数据类型转换
df['面积'] = df['面积'].astype(float)
df['价格'] = df['价格'].astype(float)
```
阅读全文