📌  相关文章
📜  如何删除 r 数据框中的 na 值 - Python (1)

📅  最后修改于: 2023-12-03 15:24:04.039000             🧑  作者: Mango

如何删除 R 数据框中的 NA 值 - Python

在数据处理过程中,常常会遇到含有缺失值(NA/NaN)的数据,这些缺失值会影响数据的准确性和分析结果。因此,我们需要使用适当的方法处理缺失值。在 R 数据框中,我们可以使用无数种方法处理缺失值,本篇文章将介绍 R 数据框中删除 NA 值的方法。

1. 删除全部含有 NA 值的行

删除某一行几乎是最常见的处理方式。

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan],
                   'B': [4, np.nan, np.nan],
                   'C': [7, 8, 9]})
df.dropna()

这会删除含有 NA 值的所有行。此时结果将返回:

     A    B  C
0  1.0  4.0  7
2. 删除全部含有 NA 值的列

有时候,我们也需要删除某些列。

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan],
                   'B': [4, np.nan, np.nan],
                   'C': [7, 8, 9]})
df.dropna(axis=1)

这里,我们使用 axis=1 参数来表示删除列而不是行。这种方法会删除所有含有 NA 值的列。此时结果将返回:

   C
0  7
1  8
2  9
3. 删除同时含有多个 NA 值的行

使用 thresh 参数来删除同时含有多个 NA 值的行。

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan],
                   'B': [4, np.nan, np.nan],
                   'C': [7, np.nan, np.nan]})
df.dropna(thresh=2)

结果如下:

     A    B    C
0  1.0  4.0  7.0

这里,我们选择了 thresh=2,表示保留含有至少两个非 NA 值的行。

4. 填充 NA 值

在某些情况下,我们可能不希望删除 NA 值,而是需要填充这些缺失值。此时我们可以使用 fillna 来填充 NA 值。

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan],
                   'B': [4, np.nan, np.nan],
                   'C': [7, np.nan, 9]})
df.fillna(value=0)

结果如下:

     A    B    C
0  1.0  4.0  7.0
1  2.0  0.0  0.0
2  0.0  0.0  9.0
5. 统计 NA 值

最后,我们来看一下如何统计一个数据框中各列 NA 值的数量。可以通过 isnullsum 方法来计算每列中 NA 值的数量。

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan],
                   'B': [4, np.nan, np.nan],
                   'C': [7, np.nan, 9]})
df.isnull().sum()

结果如下:

A    1
B    2
C    1
dtype: int64

以上便是在 R 数据框中删除 NA 值的一些方法。完整的 R 数据框 API 及我们提供的文档请参阅 pandas 文档