📜  pandas dropna 特定列 - Python (1)

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

pandas dropna特定列 - Python

在处理pandas数据时,经常会遇到需要删除缺失值的情况。在处理数据时,我们可以使用 dropna() 方法来删除缺失值,并返回一个新的DataFrame对象。当我们处理数据的时候,可能只想在特定列上删除缺失值,这时我们可以使用 dropna() 方法的 subset 参数来指定列。

示例数据

我们先来创建一个示例数据,以便后续使用:

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
    'age': [25, 23, np.nan, 27, 29],
    'gender': ['f', 'm', 'm', 'm', np.nan],
    'class': ['A', 'B', 'B', 'A', 'C']
})

# 展示DataFrame
print(df)

运行结果如下:

       name   age gender class
0     Alice  25.0      f     A
1       Bob  23.0      m     B
2   Charlie   NaN      m     B
3     David  27.0      m     A
4     Emily  29.0    NaN     C
删除特定列的缺失值

假设我们现在只想在 agegender 两列上删除缺失值,我们可以将这两列的名称传递给 subset 参数。示例代码如下:

# 删除age和gender列上的缺失值
df_new = df.dropna(subset=['age', 'gender'])

# 展示删除缺失值后的DataFrame
print(df_new)

运行结果如下:

    name   age gender class
0  Alice  25.0      f     A
1    Bob  23.0      m     B
3  David  27.0      m     A

我们可以看到,仅剩 agegender 都不为缺失值的行保留了下来。

总结

在pandas中,我们可以使用 dropna() 方法删除缺失值,并使用 subset 参数指定要删除缺失值的列。