Python数据清洗代码演示
时间: 2023-06-17 12:05:09 浏览: 51
好的,我将向您展示一些简单的 Python 代码来演示数据清洗。
首先,我们需要准备一些数据。假设我们有一个 CSV 文件,其中包含了一些人的姓名、年龄和地址信息。我们需要读取这个文件并将其转换为一个数据框(DataFrame)。我们可以使用 Pandas 库中的 `read_csv` 函数来实现这一点:
```
import pandas as pd
df = pd.read_csv("people.csv")
```
现在,我们已经读取了这个 CSV 文件,并将其转换为了一个数据框。接下来,我们可以开始进行数据清洗。
假设我们想要清洗年龄列。我们可能想要去除年龄为空值(null)的行,因为这些行对我们来说没有任何意义。我们可以使用 `dropna` 函数来删除这些行:
```
df = df.dropna(subset=["age"])
```
我们还可能想要去除负数的年龄。我们可以使用布尔索引来选择不符合条件的行,并使用 `drop` 函数删除它们:
```
df = df[df["age"] >= 0]
```
最后,假设我们想要对地址列进行清洗。我们可能希望将所有的地址转换为小写,并去除多余的空格。我们可以
相关问题
python数据清洗代码演示
好的,以下是一个用Python进行数据清洗的简单示例:
假设我们有一个包含一些脏数据的CSV文件,我们需要清洗数据并将其保存为一个新的CSV文件。示例数据如下:
```
name,age,gender
John,25,M
Emily,32,F
Mike,,M
,,F
Samantha,40,F
```
我们可以编写以下代码来清洗数据:
```python
import csv
# 打开文件
with open('dirty_data.csv', 'r') as input_file:
# 读取CSV文件
reader = csv.DictReader(input_file)
# 创建一个字典列表来保存清洗后的数据
cleaned_data = []
# 遍历每一行数据
for row in reader:
# 检查数据是否合法
if row['age'] and row['gender']:
# 如果数据合法,添加到清洗后的数据列表中
cleaned_data.append(row)
# 保存清洗后的数据为一个新的CSV文件
with open('cleaned_data.csv', 'w', newline='') as output_file:
# 定义CSV文件的列名
fieldnames = ['name', 'age', 'gender']
# 创建一个CSV写入器
writer = csv.DictWriter(output_file, fieldnames=fieldnames)
# 写入列名
writer.writeheader()
# 遍历清洗后的数据列表并写入文件
for row in cleaned_data:
writer.writerow(row)
```
以上代码会打开存储脏数据的CSV文件,遍历每一行数据,检查数据是否合法,然后将合法数据保存到一个新的字典列表中。最后,使用CSV写入器将清洗后的数据写入到一个新的CSV文件中。
用Python编写数据清洗代码
好的,下面是一个简单的Python数据清洗代码示例:
```python
import pandas as pd
# 读取原始数据
df = pd.read_csv('data.csv')
# 删除重复行
df.drop_duplicates(inplace=True)
# 删除缺失值
df.dropna(inplace=True)
# 将字符串转换为数字类型
df['col1'] = pd.to_numeric(df['col1'], errors='coerce')
# 将日期字符串转换为日期类型
df['col2'] = pd.to_datetime(df['col2'], format='%Y-%m-%d')
# 重命名列
df.rename(columns={'col3': 'new_col'}, inplace=True)
# 保存清洗后的数据
df.to_csv('cleaned_data.csv', index=False)
```
以上代码演示了如何使用pandas库进行数据清洗,其中:
- `read_csv`函数读取原始数据
- `drop_duplicates`函数删除重复行
- `dropna`函数删除缺失值
- `to_numeric`函数将字符串转换为数字类型
- `to_datetime`函数将日期字符串转换为日期类型
- `rename`函数重命名列
- `to_csv`函数保存清洗后的数据
需要根据实际情况修改代码中的列名、文件名、日期格式等参数。