2883. 删去丢失的数据

DataFrame students
+-------------+--------+
| Column Name | Type |
+-------------+--------+
| student_id | int |
| name | object |
| age | int |
+-------------+--------+
在 name 列里有一些具有缺失值的行。

编写一个解决方案,删除具有缺失值的行。

返回结果格式如下示例所示。

示例 1:

输入:
+------------+---------+-----+
| student_id | name | age |
+------------+---------+-----+
| 32 | Piper | 5 |
| 217 | None | 19 |
| 779 | Georgia | 20 |
| 849 | Willow | 14 |
+------------+---------+-----+
输出:
+------------+---------+-----+
| student_id | name | age |
+------------+---------+-----+
| 32 | Piper | 5 |
| 779 | Georgia | 20 |
| 849 | Willow | 14 |
+------------+---------+-----+
解释:
学号为 217 的学生所在行在 name 列中有空值,因此这一行将被删除。
import pandas as pd


def dropMissingData(students: pd.DataFrame) -> pd.DataFrame:
    return students.dropna(axis=0, how='any', subset=['name'], inplace=False)

# dropna 函数参数定义:
#   axis: 它可以是 {0 or 'index', 1 or 'columns'}。默认为 0。
#       如果 axis=0,则丢弃包含缺失值的行;
#       如果 axis=1,则丢弃包含缺失值的列。
#   how: 确定当我们至少有一个 NA 或全部 NA 时,是否从 DataFrame 中删除行或列。
#   how='any': 如果存在任何 NA 值,则删除该行或列(默认)。
#   how='all': 如果所有值都为 NA,则删除该行或列。
#   thresh: 需要多少非 NA 值。这是一个整型参数,需要最小数量的非 NA 值才能保留行/列。
#   subset: 要考虑的另一个轴上的标签,例如,如果您正在删除行,则这些标签将是要包括的列的列表。当您只想考虑某些列中的 NA 值时,这特别有用。
#   inplace: 这是一个布尔值,如果是 True,则对 DataFrame 本身进行更改。
#            在使用 inplace=True 参数时,您修改的是原始的 DataFrame。

 

 
posted on 2024-05-31 18:36  XiSoil  阅读(6)  评论(0编辑  收藏  举报