<p>我正在从csv文件中筛选一些数据,效果很好,但在通过pandas中的<code>str.conatin</code>regex匹配列表项时,它会打印找到的项的结果,但我想标记不匹配的项,如<code>"kpc8472", "kpc1165"</code>这些不存在于CSV文件中,因此不会返回任何结果,但我需要知道这些丢失的项目是否也要标记</p>
<pre><code>import pandas as pd
# server names to be searched on the file in list format
search_list = ["kpc2021","kpc8291","kpc8471", "kpc8472", "kpc1165"]
# sorted column list
cols = [ 'Server', 'Server Name', 'iLO FW', 'Firmware', 'Appliance Name']
# Reading CSV with filtered columns
df = pd.read_csv("Server-Inventory.csv", usecols=cols)
# match the search_list items from the column "Server Name"
df = df[df['Server Name'].astype(str).str.contains('|'.join(search_list))]
print(df)
</code></pre>
<h2>数据帧:</h2>
<pre><code> Server Server Name iLO FW Firmware Appliance Name
0 ENC2002, bay 10 kpc2021 2.50 Sep 23 2016 I36 v2.52 (10/25/2020) OV C7000 enclosures 1
1 ENC8023, bay 7 kpc8291.db.com 2.40 Dec 02 2015 I36 v2.52 (10/25/2020) OV C7000 enclosures 1
2 enc8009, bay 12 kpc8471.db.com 2.61 Jul 27 2018 I42 v1.42 (06/20/2020) OV C7000 enclosures 1
3 enc1011, bay 1 kpc8479 2.55 Aug 16 2017 I36 v2.74 (10/21/2019) OV C7000 enclosures 1
4 enc1014, bay 1 kpc1168 2.70 May 07 2019 I36 v2.74 (11/13/2019) OV C7000 enclosures 1
</code></pre>
<h2>结果:</h2>
<pre><code> Server Server Name iLO FW Firmware Appliance Name
440 ENC2002, bay 10 kpc2021 2.55 Aug 16 2017 I36 v2.52 (10/25/2020) OV C7000 enclosures 1
981 enc8023, bay 7 kpc8291 2.55 Aug 16 2017 I36 v2.52 (10/25/2020) OV C7000 enclosures 2
2642 enc8009, bay 12 kpc8471 1.30 May 31 2018 I42 v1.42 (06/20/2020) ov7003
</code></pre>
<p>谢谢你的帮助和想法</p>
<p><strong>注意</strong>:我需要标记列表<code>search_list</code>中不匹配的项目</p>