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。