Python 为什么我的loc()函数的输出仍然显示值I';我想过滤掉?
我有一个数据框,有一整行21列。我使用此代码过滤掉“日期”列中具有空值的行Python 为什么我的loc()函数的输出仍然显示值I';我想过滤掉?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,有一整行21列。我使用此代码过滤掉“日期”列中具有空值的行 master = pd.read_excel('master.xlsx') master.loc[master['date'] != 'NaN'] 我使用'NaN是因为当我打印主对象时,值显示为'NaN'。然而,在我获取信息的Excel文档中,它们被写为“NA”。即使将“NaN”替换为“NA”,仍然会输出一个包含我试图排除的行的数据帧。即使将“NaN”和“NA”替换为“”,仍会输出我试图排除的行。您可以使用pandas
master = pd.read_excel('master.xlsx')
master.loc[master['date'] != 'NaN']
我使用'NaN是因为当我打印主对象时,值显示为'NaN'。然而,在我获取信息的Excel文档中,它们被写为“NA”。即使将“NaN”替换为“NA”,仍然会输出一个包含我试图排除的行的数据帧。即使将“NaN”和“NA”替换为“”,仍会输出我试图排除的行。您可以使用pandas内置函数过滤df中的not NaN值,例如使用
notnull()
您可以使用pandas内置函数过滤df中的not nan值,例如使用
notnull()
master.loc[~master['date'].isnull()]您执行操作的方式
'NaN'
是字符串,而不是空值。master.loc[~master['date'].isnull()]您执行操作的方式'NaN'
是字符串,而不是空值。
master = master[master['date'].notnull()]