擅长:python、mysql、java
<p>我认为,<em><strong>apply()</strong></em>方法可以帮助您(尽管在这种特定情况下有更直接的方法,但我认为这个通用方法可能会有所帮助。)</p>
<p>首先,以一个小数据帧为例:</p>
<pre><code> import pandas as pd
df = pd.DataFrame([[True, True, False],
[True, True, True],
[True, None, True]])
df.columns= ['A', 'B', 'C']
df
</code></pre>
<p>因此,您将有:</p>
<pre><code> A B C
0 True True False
1 True True True
2 True None True
</code></pre>
<p>然后,您可以定义一个函数来按行应用于列集合。例如,如果列表中没有一个,则返回<em>None</em>,或者执行<em>和</em>。你可以很容易地适应你的情况</p>
<pre><code> def all_true(x):
y = True
for i in x:
if(type(i) != bool):
return None
y &= i
return y
</code></pre>
<p>所以这将返回False:</p>
<pre><code> all_true([False, True, False])
</code></pre>
<p>现在,如果将此函数应用于<em>df</em>:</p>
<pre><code> df.apply(all_true, axis = 1)
</code></pre>
<p>你会有</p>
<pre><code> 0 False
1 True
2 None
dtype: object
</code></pre>