我有一个数据框df:
import pandas as pd
d = {'cola': ['a1', 's7', 'm5']}
df = pd.DataFrame(d)
df
cola
0 a1
1 s7
2 m5
以下代码的输出为1,但应为0,因为可乐中的s7不在['a1','r3','m5']中:
if ~df["cola"].isin(['a1', 'r3', 'm5']).any():
print(0)
else:
print(1)
如果列A(可乐)的任何值不是a1,r3或m5类型,则代码应打印0。
答案 0 :(得分:1)
它的工作方式将检查(['a1','r3','m5'])中是否有任何“ cola”值,这是真的,所以df [“ cola”]。isin( ['a1','r3','m5'])。any()为True。然后,您要否定它,然后将您带到其他位置:。您需要使用all()。干杯