Python数据帧查找缺少的值

Python数据帧查找缺少的值,python,pandas,dataframe,find,missing-data,Python,Pandas,Dataframe,Find,Missing Data,我试图找到缺失的值,然后删除缺失的值。尝试在线查找数据,但似乎找不到答案 提取的数据帧: 在df中,1981年和1982年的值应为“-”,即缺失值。我想找到缺失的值,然后删除缺失的值 使用isnull导出数据帧: 我使用了df.isnull(),但在1981年和1982年,它被检测为'False',这意味着有数据。但它应该是“-”,因此被视为缺少值 我已将代码粘贴到下面。我错过了什么 import pandas as pd mydf = pd.read_excel('abc.xlsx',

我试图找到缺失的值,然后删除缺失的值。尝试在线查找数据,但似乎找不到答案

提取的数据帧:

在df中,1981年和1982年的值应为“-”,即缺失值。我想找到缺失的值,然后删除缺失的值

使用isnull导出数据帧:

我使用了df.isnull(),但在1981年和1982年,它被检测为'False',这意味着有数据。但它应该是“-”,因此被视为缺少值

我已将代码粘贴到下面。我错过了什么

import pandas as pd

mydf = pd.read_excel('abc.xlsx', sep='\t')

df1 = mydf.set_index('Variables')
df = df1[0:10]
print(df)
print(df.isnull())

缺少的值不是
-

因此,对于缺失值,请使用中的
na_值
参数将
-
转换为缺失值
NaN
s:

mydf = pd.read_excel('abc.xlsx', sep='\t', na_values='-')

na_值:标量、str、类似列表或dict,默认为无

要识别为NA/NaN的其他字符串。如果dict通过,则指定每列NA值。默认情况下,以下值被解释为NaN:“,”N/A“,”N/A N/A“,”NA“,”1.”IND“,”1.”QNAN“,”NaN“,”1.”IND“,”1.”QNAN“,”N/A“,”NA“,”NULL“,”NaN/A“,”NaN“,”NaN“,”NULL”


问题有两点:查找哪些列缺少值,然后删除这些值

查找数据帧
df

missing = df.isnull().sum()
print(missing)
要删除这些缺失的值,除了@jezrael的考虑之外,如果没有帮助,我建议您使用:

删除缺少所有元素的行

删除至少缺少一个元素的列


哦,谢谢!这确实有帮助。我可以知道“0”是否被视为NA吗?或者什么值被认为是NA?
df.dropna(how='all')
df.dropna(axis='columns')