📜  如何在 Pandas DataFrame 中删除具有 NaN 值的行?(1)

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

如何在 Pandas DataFrame 中删除具有 NaN 值的行?

在 Pandas 中,我们可以使用 dropna() 方法删除 DataFrame 中的缺失值行。下面是一个简单的例子:

import pandas as pd

# 创建DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
        'age': [20, 21, 19, 18, 22],
        'gender': ['F', 'M', 'M', 'M', 'F'],
        'income': [5000, 6000, None, 4000, 7000]}
df = pd.DataFrame(data)

# 删除缺失值行
df = df.dropna()

# 输出结果
print(df)

输出结果如下:

     name  age gender  income
0   Alice   20      F  5000.0
1     Bob   21      M  6000.0
3   David   18      M  4000.0
4   Emily   22      F  7000.0

在这个例子中,我们使用 DataFrame.dropna() 方法删除了 income 列中具有缺失值的行。这里的参数默认为 axis=0,即删除具有缺失值的行,若想删除列,则需要将 axis 设为 1。

我们还可以指定一些参数来控制删除的方式,例如:

  • how:默认为 any,表示如果缺失值中有任意一个,则删除对应的行或列;可选的值为 all,表示如果整行或整列都是缺失值,则删除;
  • thresh:表示最少需要的非缺失值数量,否则删除行或列;
  • subset:表示在指定的列中寻找缺失值;

下面展示一些例子:

# 删除具有所有缺失值的行
df.dropna(how='all', inplace=True)
# 删除具有至少两个缺失值的行
df.dropna(thresh=2, inplace=True)
# 删除 income 列中缺失值的行
df.dropna(subset=['income'], inplace=True)

以上是删除 DataFrame 中具有缺失值的行的方法,希望对大家有所帮助。