如何遍历df的每一行/列以查看是否存在0或''?

时间:2019-05-19 23:27:45

标签: python python-3.x pandas

我有一个主df,我想遍历每一行和每一列,检查0和''。我需要输出出现的行。麻烦在于,一个是int,另一个是str。因此,我分别对所有cols列和df_string进行了子集调用intstr

我可以同时检查dfstr的整个int还是我需要分别进行检查?

这是我的代码:

cols = ['ID', 'Line Manager Id', 'Project ID']
df_strings = ['Email', 'Name', 'Department']
i = 0
k = 0
for i, j in df.iterrows():
    if df[cols[i]][j] == 0:
        print(i)
        print('incomplete')
    if df[df_strings[i]][j] == '':
        print(i)
        print('incomplete')
  

ValueError:系列的真值不明确。使用空   a.bool(),a.item(),a.any()或a.all()。

1 个答案:

答案 0 :(得分:1)

您可以与where同时进行操作,在stack之后,索引是包含0或空白的列

s=df.eq(0)|df.eq('')
df.where(df.eq(0)|df.eq('')).stack()