运用pandas,自定义一个能够自动实现数据去重、缺失值中位数填补的函数。
时间: 2024-05-15 15:19:55 浏览: 89
如何使用 一行代码 搞定一组数据的(极值、平均值、中位数、四分位数、数量统计和标准差)
5星 · 资源好评率100%
以下是一个可以实现数据去重和缺失值中位数填补的自定义函数:
```python
import pandas as pd
def clean_data(df):
# 数据去重
df.drop_duplicates(inplace=True)
# 缺失值中位数填补
for col in df.columns:
if df[col].isnull().sum() > 0: # 判断该列是否有缺失值
median = df[col].median() # 计算该列的中位数
df[col].fillna(median, inplace=True) # 用中位数填补缺失值
return df
```
使用方法:
```python
# 读取数据
df = pd.read_csv('example.csv')
# 数据清洗
df_clean = clean_data(df)
```
在上述代码中,我们首先使用 `pd.read_csv()` 读取了一个名为 `example.csv` 的数据文件,并将其存储到一个名为 `df` 的 pandas DataFrame 中。然后,我们调用了 `clean_data()` 自定义函数,将 `df` 作为参数传递给该函数。在函数内部,我们首先使用 `drop_duplicates()` 方法去除了数据中的重复项。然后,我们使用一个循环遍历了所有的列,对于每一列,我们使用 `isnull().sum()` 方法判断该列是否有缺失值。如果有,我们就使用 `median()` 方法计算该列的中位数,并使用 `fillna()` 方法将缺失值用中位数进行填补。最后,我们将处理后的 DataFrame 返回给调用者。
阅读全文