如果我们想在向量中找到缺失值位置,我们可以在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)
在这里,我可以得到真或假。但我想找到缺失值的位置。
提前致谢。
答案 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值的数据框上特定列的行。