读取https://www.kaggle.com/datasets/shivamb/netflix-shows数据集数据,运用python大数据处理与分析的知识,查看缺失值,对缺失值进行填充修改
时间: 2023-12-06 12:02:57 浏览: 128
Python数据分析中缺失值处理方法
5星 · 资源好评率100%
好的,首先我需要确认你已经下载了该数据集。假设你已经将该数据集下载到本地,并将其命名为 "netflix_titles.csv"。我们可以使用 Pandas 库来进行数据处理和分析。
首先,我们需要导入 Pandas 库并读取数据集:
```python
import pandas as pd
df = pd.read_csv("netflix_titles.csv")
```
接下来,我们可以使用 `.info()` 方法来查看数据集的信息,包括每个列的数量、数据类型和缺失值的数量:
```python
df.info()
```
输出结果:
```
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7787 entries, 0 to 7786
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 show_id 7787 non-null object
1 type 7787 non-null object
2 title 7787 non-null object
3 director 5398 non-null object
4 cast 7069 non-null object
5 country 7280 non-null object
6 date_added 7777 non-null object
7 release_year 7787 non-null int64
8 rating 7780 non-null object
9 duration 7787 non-null object
10 listed_in 7787 non-null object
11 description 7787 non-null object
dtypes: int64(1), object(11)
memory usage: 730.0+ KB
```
从上面的输出结果可以看到,该数据集共有 7787 行和 12 列,其中有一些列存在缺失值。比如,"director" 列只有 5398 个非空值,"cast" 列只有 7069 个非空值,"country" 列只有 7280 个非空值,"date_added" 列只有 7777 个非空值,"rating" 列只有 7780 个非空值。
我们可以使用 `.isnull()` 方法来检查每个单元格是否为空:
```python
df.isnull().sum()
```
输出结果:
```
show_id 0
type 0
title 0
director 2389
cast 718
country 507
date_added 10
release_year 0
rating 7
duration 0
listed_in 0
description 0
dtype: int64
```
从上面的输出结果可以看到,"director" 列有 2389 个空值,"cast" 列有 718 个空值,"country" 列有 507 个空值,"date_added" 列有 10 个空值,"rating" 列有 7 个空值。
接下来,我们可以对这些空值进行填充。对于数值型数据,可以使用平均数、中位数或众数来填充缺失值。对于文本型数据,可以使用前一个或后一个非空值来进行填充,或者使用众数来进行填充。
对于本数据集,我们可以使用以下方法来填充缺失值:
- "director" 列:使用 "unknown" 字符串填充
- "cast" 列:使用空字符串填充
- "country" 列:使用 "unknown" 字符串填充
- "date_added" 列:使用众数填充
- "rating" 列:使用众数填充
使用以下代码进行填充:
```python
df["director"].fillna("unknown", inplace=True)
df["cast"].fillna("", inplace=True)
df["country"].fillna("unknown", inplace=True)
df["date_added"].fillna(df["date_added"].mode()[0], inplace=True)
df["rating"].fillna(df["rating"].mode()[0], inplace=True)
```
最后,我们可以再次使用 `.isnull().sum()` 方法来检查是否还有空值:
```python
df.isnull().sum()
```
输出结果:
```
show_id 0
type 0
title 0
director 0
cast 0
country 0
date_added 0
release_year 0
rating 0
duration 0
listed_in 0
description 0
dtype: int64
```
从上面的输出结果可以看到,现在该数据集中不存在任何空值。
阅读全文