<p>这个问题以前确实被问过很多种形式,但是,我还没有找到一个包含多个串联输入以及while循环的问题。因此我的问题是:</p>
<p><strong>在while循环之前不需要for循环,是否可以从该函数输出序列:</strong></p>
<pre><code>def modify_to_100(first, second):
combined = first + second
while combined != 100:
combined += 1
return abs(combined)
</code></pre>
<p>我正在将多个系列传递给函数。系列的长度总是一样的。你知道吗</p>
<pre><code>In [132]: first = pd.Series([50, 60, 40])
In [133]: second = pd.Series([20, 10, 40])
In [134]: modify_to_100(first,second)
</code></pre>
<p>我得到的错误-这是相当描述性和可理解的。但是,因为这个系列的每个元素都需要不同数量的循环,所以我不知道处理这种情况的最佳方法。你知道吗</p>
<pre><code>Out [134]: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
</code></pre>
<p>我尝试了<code>a.all()</code>,作为一个例子,正如预期的那样,这会导致循环永远运行。永远不会有一个时间,所有()的数字加上1,同时达到100。你知道吗</p>
<p>其他的<code>a.empty(), a.bool(), a.item(), a.any()</code>似乎不适用。我是不是误会了其中的一个可能会让这个系列的每一个元素都各自进步?你知道吗</p>
<p>到目前为止,我所发现的一切都表明for循环是必要的。<strong>我想避免在这里一排一排地走。</strong></p>
<p>期望输出:</p>
<pre><code>100, 100, 100
</code></pre>
<p>任何帮助,澄清,或有效的方式来取得进展,在此将不胜感激。你知道吗</p>