擅长:python、mysql、java
<p>错误消息:</p>
<blockquote>
<p>The truth value of a Series is ambiguous.</p>
</blockquote>
<p>来自</p>
<pre><code>if urban_classification.prc_urbain>0.5 :
</code></pre>
<p>因为<code>urban_classification.prc_urbain</code>是一个pd.Series,因此<code>urban_classification.prc_urbain>0.5</code>也是一个由真/假值组成的pd.Series,python无法确定这个布尔值列表的值是否应该为真</p>
<p>要实现您想要的,您可以使用<a href="https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.cut.html" rel="nofollow noreferrer">pd.cut</a>:</p>
<pre><code>urban_classification["URBRUR"] = pd.cut(urban_classification.prc_urbain, [0, 0.5, 1], labels=["rural", "urban], include_lowest=True)
</code></pre>
<p>示例:</p>
<pre><code>import pandas as pd
s = pd.Series([0, 0.1, 0.45, 0.6, 0.8, 1])
pd.cut(s, [0, 0.5, 1], labels=("rural", "urban"), include_lowest=True)
0 rural
1 rural
2 rural
3 urban
4 urban
5 urban
</code></pre>