擅长:python、mysql、java
<p>我可以让你开始使用<code>map</code>和<code>ffill</code></p>
<pre><code>def is_country(x):
# TODO - fill in the logic for this stub.
return x in {'Japan', 'Ghana'}
df
A
0 Japan
1 valA
2 valB
3 Ghana
4 valC
5 valD
df.assign(B=df['A'].where(df['A'].map(is_country)).ffill()).query('A != B')
A B
1 valA Japan
2 valB Japan
4 valC Ghana
5 valD Ghana
</code></pre>
<hr/>
<p>您可以使用<a href="https://pypi.org/project/pycountry/" rel="nofollow noreferrer">^{<cd3>}</a>(或类似的东西)这样的包来验证国家名称</p>
<pre><code>import pycountry
countries = {x.name for x in pycountry.countries} # Initialise a set.
def is_country(x):
return x in countries
</code></pre>
<p>不过,通过这个定义,您可以将代码简化为</p>
<pre><code>df.assign(B=df['A'].where(df['A'].isin(countries)).ffill()).query('A != B')
</code></pre>
<p>完全摆脱<code>is_country</code>功能</p>