擅长:python、mysql、java
<p>我会这样做:</p>
<pre><code>df = df.replace('\\N', np.nan) # this requires import numpy as np
(df['Yahoo Rating'].fillna(df['Movie Mom Rating']
.fillna(df['Critic Rating']
.fillna("Unrated"))))
</code></pre>
<p>代码无法工作的原因是<code>newyear['Yahoo Rating'] != "\\N"</code>是一个布尔数组。你在这里说的是<code>if [True, False, True, False]:</code>。这就是模棱两可的根源。你如何评价这种情况?如果所有这些都是真的,你会执行吗?或者仅仅一个就足够了?你知道吗</p>
<p>作为<a href="https://stackoverflow.com/a/38818720/2285236">M. Klugerford explained</a>,您可以更改它,以便逐行计算它(因此返回单个值)。但是,逐行应用操作通常很慢,而且pandas有很好的工具来处理丢失的数据。所以我才提出这个建议。你知道吗</p>