是python编程的新手。任何人都可以检查以下语法是否满足以下条件:
if df1[A]<= df2[B]): print("") else: print("")
获取此异常 - ValueError异常:一个系列的真值是不明确的。 使用a.empty,a.bool(),a.item(),a.any()或a.all()。
您比较的是数组,没有标量,因此Camparing的输出是另一个数组。所以需要any还是all。也需要两者的长度Series相同:
any
all
Series
df1 = pd.DataFrame({'A':[1,2,3]}) print (df1) A 0 1 1 2 2 3 df2 = pd.DataFrame({'B':[1,2,0]}) print (df2) B 0 1 1 2 2 0 print (df1['A']<= df2['B']) 0 True 1 True 2 False dtype: bool #check if at least one True print ((df1['A']<= df2['B']).any()) True #check if all values are True print ((df1['A']<= df2['B']).all()) False if (df1['A']<= df2['B']).any(): print("at least one value True") else: print("no False values") at least one value True if (df1['A']<= df2['B']).all(): print("all values True") else: print("not all values True") not all values True
df1 = pd.DataFrame({'A':[1,2,3]}) print (df1) A 0 1 1 2 2 3 df2 = pd.DataFrame({'B':[1,2,3]}) print (df2) B 0 1 1 2 2 3 print (df1['A']<= df2['B']) 0 True 1 True 2 True dtype: bool #check if at least one True print ((df1['A']<= df2['B']).any()) True #check if all values are True print ((df1['A']<= df2['B']).all()) True if (df1['A']<= df2['B']).any(): print("at least one value True") else: print("no False values") at least one value True if (df1['A']<= df2['B']).all(): print("all values True") else: print("not all values True") all values True