Использовать, если id
- столбец:
df['correct'] = df.iloc[:, 1:].ne(0).all(axis=1)
#alternative solution
#df['correct'] = ~df.iloc[:, 1:].eq(0).any(axis=1)
print (df)
id col_1 col_2 col_3 correct
0 'jk3' 1.0 1.0 NaN True
1 'kp2' 1.0 1.0 1.0 True
2 'po0' 0.0 1.0 0.0 False
3 'in6' NaN 0.0 1.0 False
4 'ml5' 1.0 NaN 0.0 False
5 'lj3' 1.0 0.0 NaN False
Подробности:
Сначала удалите все столбцы без первого с помощью iloc
:
print (df.iloc[:, 1:])
col_1 col_2 col_3
0 1.0 1.0 NaN
1 1.0 1.0 1.0
2 0.0 1.0 0.0
3 NaN 0.0 1.0
4 1.0 NaN 0.0
5 1.0 0.0 NaN
Сравнение не равно ne
:
print (df.iloc[:, 1:].ne(0))
col_1 col_2 col_3
0 True True True
1 True True True
2 False True False
3 True False True
4 True True False
5 True False True
Последняя проверка all
True
s для строк:
print (df.iloc[:, 1:].ne(0).all(axis=1))
0 True
1 True
2 False
3 False
4 False
5 False
dtype: bool
И если id
является индексом:
df['correct'] = df.ne(0).all(axis=1)
print (df)
col_1 col_2 col_3 correct
id
'jk3' 1.0 1.0 NaN True
'kp2' 1.0 1.0 1.0 True
'po0' 0.0 1.0 0.0 False
'in6' NaN 0.0 1.0 False
'ml5' 1.0 NaN 0.0 False
'lj3' 1.0 0.0 NaN False
Попробуйте, добавив его в HTML-файл. У меня было точно такое же требование, и это был самый простой метод, который я нашел ...
<html>
<body>
<embed style="height: 100%; width: 100%;" src="data:application/pdf;base64,YOUR_BASE64_STRING_GOES_HERE" type="application/pdf"></object>
</body>
</html>