高效檢索部分字串匹配的列
在資料操作領域,在資料幀中尋找特定列可能是常見的需求。但是,如果您需要在列名稱中搜尋特定模式但忽略精確匹配,該怎麼辦?例如,如果您有“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中文網其他相關文章!