擅长:python、mysql、java
<p>只需遍历<code>DataFrame.columns</code>,现在这是一个示例,在这个示例中,您将得到一个匹配的列名列表:</p>
<pre><code>import pandas as pd
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]
print(list(df.columns))
print(spike_cols)
</code></pre>
<p>输出:</p>
<pre><code>['hey spke', 'no', 'spike-2', 'spiked-in']
['spike-2', 'spiked-in']
</code></pre>
<p>说明:</p>
<ol>
<li><code>df.columns</code>返回列名列表</li>
<li><code>[col for col in df.columns if 'spike' in col]</code>使用变量<code>col</code>遍历列表<code>df.columns</code>,如果<code>col</code>包含<code>'spike'</code>,则将其添加到结果列表中。这个语法是<a href="http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions" rel="noreferrer">list comprehension</a>。</li>
</ol>
<p>如果只希望生成的数据集具有匹配的列,则可以执行以下操作:</p>
<pre><code>df2 = df.filter(regex='spike')
print(df2)
</code></pre>
<p>输出:</p>
<pre><code> spike-2 spiked-in
0 1 7
1 2 8
2 3 9
</code></pre>