首页 > 解决方案 > 根据列找出数据框中的缺失值

问题描述

是否有解决方案可以根据列找出缺失值

例如 :

Field_name                Field_Type     Field_Id
Message type identifier       M              0
Nan                           M              1
Bitmap secondary              C              1
Nan                           C              2
Processing code               M              3
Nan                           M              4
Amount-Settlement             C              5

所以在这里我想知道字段名称和列中Field_Type = 'M'的缺失值,忽略中的缺失值Field_Type = 'C'

预期输出:

Field_name   Field_Type  Field_Id
Nan                M    1
Nan                M    4

编辑:我们可以为数据框列表执行此操作吗?

data_list = [df1,df2,df3]


output : result [[missngvalues in df1],[missngvalues in df2],[missngvalues in df3]]

标签: pythonpandasdataframe

解决方案


如果nan缺少值链掩码Series.isnaSeries.eqfor ==by &for botwise AND

df[df.Field_name.isna() & df.Field_Type.eq('M')]

如果nan是字符串比较两者Series.eq

df[df.Field_name.eq('Nan') & df.Field_Type.eq('M')]

print (df)

  Field_name Field_Type  Field_Id
1        Nan          M         1
5        Nan          M         4

编辑:

如果使用DataFrames 列表:

data_list = [df1,df2,df3]
result = [df[df.Field_name.isna() & df.Field_Type.eq('M')] for df in data_list]

推荐阅读