DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)
删除缺失的值。
请参阅《用户指南》,以了解有关哪些值被认为缺失以及如何处理缺失数据的更多信息。
参数: | axis : { 确定是否删除包含缺失值的行或列。 0或'index':删除包含缺失值的行。 1或“列”:删除包含缺失值的列。 从0.23.0版开始不推荐使用:将元组或列表传递到多个轴上。只允许一个轴。 how : {' 当我们有至少一个NA或全部NA时,确定是否从DataFrame中删除行或列。 'any':如果存在任何NA值,则删除该行或列。 'all':如果所有值均为NA,则删除该行或列。 thresh : 需要许多非NA值。 subset :类数组,可选 要考虑的其他轴上的标签,例如,如果要删除行,这些标签将是要包括的列的列表。 inplace : 如果为 |
返回: | DataFrame 删除了NA条目的DataFrame。 |
例子
>>> df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
... "toy": [np.nan, 'Batmobile', 'Bullwhip'],
... "born": [pd.NaT, pd.Timestamp("1940-04-25"),
... pd.NaT]})
>>> df
name toy born
0 Alfred NaN NaT
1 Batman Batmobile 1940-04-25
2 Catwoman Bullwhip NaT
将行缺失至少一个元素
>>> df.dropna()
name toy born
1 Batman Batmobile 1940-04-25
将列放在缺少至少一个元素的位置
>>> df.dropna(axis='columns')
name
0 Alfred
1 Batman
2 Catwoman
删除所有元素均缺失的行
>>> df.dropna(how='all')
name toy born
0 Alfred NaN NaT
1 Batman Batmobile 1940-04-25
2 Catwoman Bullwhip NaT
仅保留至少具有2个非NA值的行
>>> df.dropna(thresh=2)
name toy born
1 Batman Batmobile 1940-04-25
2 Catwoman Bullwhip NaT
定义在哪些列中查找缺失值
>>> df.dropna(subset=['name', 'born'])
name toy born
1 Batman Batmobile 1940-04-25
将具有有效条目的DataFrame保留在同一变量中
>>> df.dropna(inplace=True)
>>> df
name toy born
1 Batman Batmobile 1940-04-25