我有一个主df
,我想遍历每一行和每一列,检查0和''
。我需要输出出现的行。麻烦在于,一个是int
,另一个是str
。因此,我分别对所有cols
列和df_string
进行了子集调用int
和str
。
我可以同时检查df
和str
的整个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()。
答案 0 :(得分:1)
您可以与where
同时进行操作,在stack
之后,索引是包含0或空白的列
s=df.eq(0)|df.eq('')
df.where(df.eq(0)|df.eq('')).stack()