数据清洗python
时间: 2023-09-11 17:04:42 浏览: 58
数据清洗是数据预处理的重要步骤之一,用于处理数据集中的噪声、缺失值、异常值以及其他不规范的数据。在Python中,有许多库和工具可以帮助进行数据清洗操作。以下是一些常用的数据清洗技术和相应的Python代码示例:
1. 处理缺失值:
- 删除含有缺失值的行或列:
```python
df.dropna(axis=0) # 删除含有缺失值的行
df.dropna(axis=1) # 删除含有缺失值的列
```
- 填充缺失值:
```python
df.fillna(value) # 使用指定值填充缺失值
df.fillna(df.mean()) # 使用均值填充缺失值
```
2. 处理重复值:
```python
df.duplicated() # 找出重复值
df.drop_duplicates() # 删除重复值
```
3. 处理异常值:
- 基于统计方法识别和处理异常值:
```python
z_scores = (df - df.mean()) / df.std() # 计算Z分数
outliers = df[(z_scores > threshold) | (z_scores < -threshold)] # 找出异常值
df = df[(z_scores <= threshold) & (z_scores >= -threshold)] # 去除异常值
```
- 基于业务规则识别和处理异常值。
4. 数据类型转换:
```python
df.astype({'column_name': 'new_type'}) # 将指定列转换为新的数据类型
```
5. 数据格式规范化:
- 字符串清洗:
```python
df['column_name'] = df['column_name'].str.strip() # 去除字符串两端空格
df['column_name'] = df['column_name'].str.lower() # 将字符串转换为小写
df['column_name'] = df['column_name'].str.replace('old_str', 'new_str') # 字符串替换
```
- 数值格式规范化:
```python
df['column_name'] = df['column_name'].apply(lambda x: '{:.2f}'.format(x)) # 将数值保留两位小数
```
这些示例只是数据清洗的一部分技术,具体的清洗操作取决于数据集的特点和需求。你可以根据自己的实际情况选择适合的方法进行数据清洗。