【发布时间】:2020-11-12 12:27:57
【问题描述】:
我需要通过删除特定的行或列来处理缺失值。我知道如何删除缺少值的列或行,但我需要的有点不同。当且仅当两个特定列缺少值时,我才需要删除行。
这是我尝试过的示例:
# Basic libraries
import os
import pandas as pd
import numpy as np
data_dict = {'First':[100, 90, np.nan, np.nan],
'Second': [30, 45, 56, np.nan],
'Third':[np.nan, 40, 80, np.nan],
'Forth': [30,40,50,np.nan]}
df1 = pd.DataFrame(data_dict)
df1.dropna(subset=['First','Second'],inplace=True)
df1
如图所示,我正在尝试删除 First==Nan 和 Second==Nan 所在的行。换句话说,我需要两个条件都是正确的。所以,我只需要删除最后一行,两个值都是 Nan。因此,由于满足其中一个条件,因此不会删除第 2 行。不幸的是,如果满足其中一个条件,我使用的命令会删除行。
【问题讨论】:
-
将
how="all"传递给dropna函数。 -
@Swier 感谢您的帮助,谢谢 :)
标签: python pandas numpy dataframe missing-data