我想使用Pandas自动化数据验证过程。这包括两个步骤:
第一个是确保每一行都有一个有效的列值。例如,我想检查“Independent”列中该行是否有1或0,如果没有则抛出一个标志。因此,如果Independent==1或Independent==0 IndepFlag=0,则IndepFlag=1(对于该行)。基于这个标志,我想将该行的ID打印到excel文件中。在
第二种方法是执行类似的操作,但是要检查多个列(例如,if Independent==1和Column2>;1column2flag=1。在
我的问题是,如何检查有效值,然后从具有行ID的列中捕获并打印,以及如何对多个列执行此操作?在
您可以使用
where
:http://pandas.pydata.org/pandas-docs/dev/indexing.html#the-where-method-and-masking完成此操作
^{pr2}$where
将不符合条件的值转换为nan
。您可以使用notnull()
获得一个布尔序列,如果您喜欢使用astype
,可以将其更改为int:然后,您可以只选择感兴趣的行并将其写入excel文件:
使用多个列并不是很不同,只需将
where
改为使用(df.Independent == 0) & (df.Column2 > 1)
。在相关问题 更多 >
编程相关推荐