如何在python中找到缺失的值位置?

时间:2015-02-25 10:13:46

标签: python pandas

如果我们想在向量中找到缺失值位置,我们可以在R中使用哪个 is.na 函数。

a=c(1,2,3,NA,5,6,NA)
positions=which(is.na(a))

我们怎样才能在python中找到缺失的值位置?

a=[1,2,3,np.nan,5,6,np.nan]
positions=pd.isnull(a)

在这里,我可以得到真或假。但我想找到缺失值的位置。

提前致谢。

4 个答案:

答案 0 :(得分:2)

您可以使用np.nonzero

In [307]:

a=[1,2,3,np.nan,5,6,np.nan]
np.nonzero(pd.isnull(a))
Out[307]:
(array([3, 6], dtype=int64),)

答案 1 :(得分:2)

您可以使用numpy方法枚举并测试列表中的每个元素:isnan()

indexes = [index for index,element in enumerate(a) if np.isnan(element)]

答案 2 :(得分:1)

使用时

pd.isnull(a)

当该单元格的值丢失时,输出为true, 如果所引用的单元格具有某个值,并且没有缺失值,则输出为false,在此url中,您可以找到检测缺失值的不同方法 https://medium.com/@kanchanardj/jargon-in-python-used-in-data-science-to-laymans-language-part-two-98787cce0928

答案 3 :(得分:1)

如果您有pandas.Dataframe,则可以使用此方法

import pandas as pd
from tabulate import tabulate


# Create the pandas DataFrame
df = pd.DataFrame(states, columns=['State - Abbreviation', 'State - Abbreviation', 'State - Abbreviation', 'State - Abbreviation', 'State - Abbreviation'])
pdtabulate = lambda df: tabulate(df, headers='keys', tablefmt='psql', showindex=False)

print(pdtabulate(df))

它将返回存在Nan值的数据框上特定列的行。