首頁 > 後端開發 > Python教學 > 如何有效地檢索 DataFrame 中部分字串匹配的列?

如何有效地檢索 DataFrame 中部分字串匹配的列?

DDD
發布: 2024-10-20 14:02:02
原創
610 人瀏覽過

How to Efficiently Retrieve Columns with Partial String Matches in DataFrames?

高效檢索部分字串匹配的列

在資料操作領域,在資料幀中尋找特定列可能是常見的需求。但是,如果您需要在列名稱中搜尋特定模式但忽略精確匹配,該怎麼辦?例如,如果您有“spike-2”、“hey spike”和“spiked-in”等名稱,並且想要尋找包含“spike”的任何列,您可能會遇到一些障礙。

問題:

識別名稱中包含指定字串的列(即使不是完全匹配)也可能具有挑戰性。

解決方案:

為了克服這個問題,請在資料幀的列中使用全面的循環,檢查每個名稱中所需的字串。這可以透過清單理解來實現:

<code class="python">[col for col in df.columns if 'spike' in col]</code>
登入後複製

此程式碼段產生一個包含滿足指定條件的所有欄位名稱的清單。

範例:

考慮下列資料方塊:

<code class="python">data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]}
df = pd.DataFrame(data)
spike_cols = [col for col in df.columns if 'spike' in col]</code>
登入後複製

輸出:

['spike-2', 'spiked-in']
登入後複製

替代方法

替代方法:
<code class="python">df2 = df.filter(regex='spike')</code>
登入後複製

對於更簡潔的解決方案,請考慮使用過濾器方法:
   spike-2  spiked-in
0        1          7
1        2          8
2        3          9
登入後複製

此方法會產生僅包含滿足指定正規表示式條件的列的資料框:透過應用這些技術,您可以有效地檢索列在資料框中,即使它們的名稱與所需的字串不完全匹配。

以上是如何有效地檢索 DataFrame 中部分字串匹配的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板