合并:
animal sampleNum SampleBreed Nume Breed
44 423432 GG 423432 GG
21 2132 AA 1112 AA
...
前三个cols来自base,后两个col来自newFile。 我想通过验证一些引用来创建新的DF。我的意思是:
toNewDF = If SampleNum == Nume AND SampleBreed == Breed
我写了这段代码:
merged.where(merged.sampleNum == merged.Nume & merged['SampleBreed'] == merged.breed)
但是我收到一个错误:TypeError: unsupported operand type(s) for &: 'str' and 'bool'
如果我将&
更改为and
,则会得到:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我试图找到任何解决方案,但是SO上的所有线程都处理不同类型的问题。
此代码在做什么错?有人可以解释一下吗?
答案 0 :(得分:4)
由于运算符的优先级,您只需要用括号括起来即可。
尝试一下:
@Resource(lookup = "java:global/corsAllowedOriginList")
private String corsOriginList;
为避免这种歧义,我喜欢using .eq
instead of ==
,如下所示:
merged.where((merged.sampleNum == merged.Nume) & (merged['SampleBreed'] == merged.breed))