<p dir="auto">I was a little surprised when clip would not take other pandas objects as parameters.  I hacked a little something below, but for readability I thought I might suggest that this feature be added.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="df1 = DataFrame(ones((2, 2)))
data = ones((2, 2))
data[0, 0] = 0
data[1, 1] = 2
df2 = DataFrame(data)
print df2.clip(1.5, 0.5)

df3 = df2.copy()
df3[df2 &gt; df1 * 1.5] = (df1 * 1.5)[df2 &gt; df1 * 1.5]
df3[df2 &lt; df1 * .5] = (df1 * .5)[df2 &lt; df1 * .5]
print df3"><pre class="notranslate"><code class="notranslate">df1 = DataFrame(ones((2, 2)))
data = ones((2, 2))
data[0, 0] = 0
data[1, 1] = 2
df2 = DataFrame(data)
print df2.clip(1.5, 0.5)

df3 = df2.copy()
df3[df2 &gt; df1 * 1.5] = (df1 * 1.5)[df2 &gt; df1 * 1.5]
df3[df2 &lt; df1 * .5] = (df1 * .5)[df2 &lt; df1 * .5]
print df3
</code></pre></div>
<p dir="auto">Here's what I mean:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="In [4]: pd.Series(np.arange(7))
Out[4]: 
0    0
1    1
2    2
3    3
4    4
5    5
6    6
dtype: int64

# Let's put some limit on weekends
In [5]: _4.clip_upper([3,3,3,3,3, 4,4])

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
&lt;ipython-input-5-3268c7bee292&gt; in &lt;module&gt;()
----&gt; 1 _4.clip_upper([3,3,3,3,3, 4,4])
/home/dshpektorov/sources/pandas/pandas/core/generic.pyc in clip_upper(self, threshold)
   2636         clipped : same type as input
   2637         &quot;&quot;&quot;
-&gt; 2638         if isnull(threshold):
   2639             raise ValueError(&quot;Cannot use an NA value as a clip threshold&quot;)
   2640 

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
"><pre class="notranslate"><span class="pl-v">In</span> [<span class="pl-c1">4</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">Series</span>(<span class="pl-s1">np</span>.<span class="pl-en">arange</span>(<span class="pl-c1">7</span>))
<span class="pl-v">Out</span>[<span class="pl-c1">4</span>]: 
<span class="pl-c1">0</span>    <span class="pl-c1">0</span>
<span class="pl-c1">1</span>    <span class="pl-c1">1</span>
<span class="pl-c1">2</span>    <span class="pl-c1">2</span>
<span class="pl-c1">3</span>    <span class="pl-c1">3</span>
<span class="pl-c1">4</span>    <span class="pl-c1">4</span>
<span class="pl-c1">5</span>    <span class="pl-c1">5</span>
<span class="pl-c1">6</span>    <span class="pl-c1">6</span>
<span class="pl-s1">dtype</span>: <span class="pl-s1">int64</span>

<span class="pl-c"># Let's put some limit on weekends</span>
<span class="pl-v">In</span> [<span class="pl-c1">5</span>]: <span class="pl-s1">_4</span>.<span class="pl-en">clip_upper</span>([<span class="pl-c1">3</span>,<span class="pl-c1">3</span>,<span class="pl-c1">3</span>,<span class="pl-c1">3</span>,<span class="pl-c1">3</span>, <span class="pl-c1">4</span>,<span class="pl-c1">4</span>])

<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span>
<span class="pl-v">ValueError</span>                                <span class="pl-v">Traceback</span> (<span class="pl-s1">most</span> <span class="pl-s1">recent</span> <span class="pl-s1">call</span> <span class="pl-s1">last</span>)
<span class="pl-c1">&lt;</span><span class="pl-s1">ipython</span><span class="pl-c1">-</span><span class="pl-s1">input</span><span class="pl-c1">-</span><span class="pl-c1">5</span><span class="pl-c1">-</span><span class="pl-c1">3268</span><span class="pl-s1">c7bee292</span><span class="pl-c1">&gt;</span> <span class="pl-s1">in</span> <span class="pl-c1">&lt;</span><span class="pl-s1">module</span><span class="pl-c1">&gt;</span>()
<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">1</span> <span class="pl-s1">_4</span>.<span class="pl-en">clip_upper</span>([<span class="pl-c1">3</span>,<span class="pl-c1">3</span>,<span class="pl-c1">3</span>,<span class="pl-c1">3</span>,<span class="pl-c1">3</span>, <span class="pl-c1">4</span>,<span class="pl-c1">4</span>])
<span class="pl-c1">/</span><span class="pl-s1">home</span><span class="pl-c1">/</span><span class="pl-s1">dshpektorov</span><span class="pl-c1">/</span><span class="pl-s1">sources</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">generic</span>.<span class="pl-s1">pyc</span> <span class="pl-c1">in</span> <span class="pl-en">clip_upper</span>(<span class="pl-s1">self</span>, <span class="pl-s1">threshold</span>)
   <span class="pl-c1">2636</span>         <span class="pl-s1">clipped</span> : <span class="pl-s1">same</span> <span class="pl-s1">type</span> <span class="pl-k">as</span> <span class="pl-s1">input</span>
   <span class="pl-c1">2637</span>         """
-&gt; 2638         if isnull(threshold):
   2639             raise ValueError("Cannot use an NA value as a clip threshold")
   <span class="pl-c1">2640</span> 

<span class="pl-v">ValueError</span>: <span class="pl-v">The</span> <span class="pl-s1">truth</span> <span class="pl-s1">value</span> <span class="pl-s1">of</span> <span class="pl-s1">an</span> <span class="pl-s1">array</span> <span class="pl-k">with</span> <span class="pl-s1">more</span> <span class="pl-s1">than</span> <span class="pl-s1">one</span> <span class="pl-s1">element</span> <span class="pl-c1">is</span> <span class="pl-s1">ambiguous</span>. <span class="pl-v">Use</span> <span class="pl-s1">a</span>.<span class="pl-en">any</span>() <span class="pl-c1">or</span> <span class="pl-s1">a</span>.<span class="pl-en">all</span>()</pre></div>