<p>尝试按“布尔索引”筛选:</p>
<p><a href="https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing" rel="nofollow noreferrer">https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing</a></p>
<p>这篇文章用很好的例子详细地解释了这一点:</p>
<p><a href="https://appdividend.com/2019/01/25/pandas-boolean-indexing-example-python-tutorial/" rel="nofollow noreferrer">https://appdividend.com/2019/01/25/pandas-boolean-indexing-example-python-tutorial/</a></p>
<p>因此,如果您有此数据集:</p>
<pre><code>nested_lists = [
['Country1', 'Region1', 'City1', 1, 5],
['Country1', 'Region1', 'City2', 7, 8],
['Country1', 'Region2', 'City3', 3, 4],
['Country2', 'Region2', 'City4', 6, 8]
]
df = pandas.DataFrame(nested_lists, columns = ['Country', 'Region', 'City', 'Population', 'Cases'])
</code></pre>
<p>您可以通过以下方式按国家和地区进行筛选:</p>
<pre><code>df_filtered = df[(df['Country'] == 'Country1') & (df['Region'] == 'Region1')]
</code></pre>
<p>结果:</p>
<pre><code>Country Region City Population Cases
Country1 Region1 City1 1 5
Country1 Region1 City2 7 8
</code></pre>
<p>要仅获取“案例”列,请执行以下操作:</p>
<pre><code>df_filtered2 = df[(df['Country'] == 'Country1') & (df['Region'] == 'Region1')][['Cases']]
</code></pre>
<p>结果:</p>
<pre><code>Cases
5
8
</code></pre>