【发布时间】:2019-10-10 09:37:25
【问题描述】:
我在数据框中有 2 列,如下所示:
report pname
D Singapore
N Pradip
A
S Singapore
D
y Europe
我正在对列值执行验证。在列报告中,有效值可以是 D、N 和 A,如果出现这些值以外的值,则会产生错误和索引。
但现在我想同时在两列(报告,pname)上执行验证。如果报告具有值 D 和 A,则该列不应为空(null)。如果报告的 D 和 A 列值为 null,则应生成错误。
我所做的代码是用于一列验证。
lst=list(df['report'])
lst
lst1=['D','N','A']
def valid_reportype(v, lst):
if v in lst1:
return True
return False
for i, v in enumerate(lst):
if not valid_reportype(v, lst):
print(f"value {v} at index {i} for column Reporting_Type is Invalid")
我的代码只验证了一个列,该列不同于 D、N、A 值存在,它会产生错误。
我想同时检查两个列的值,即 D 和 A 是 pname 列值不应为空的值。如果是它应该产生错误。
【问题讨论】:
标签: python python-3.x list if-statement python-3.6