擅长:python、mysql、java
<p>使用矢量<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.contains.html#pandas.Series.str.contains" rel="nofollow">^{<cd1>}</a>:</p>
<pre><code>In [222]:
df = pd.DataFrame(columns=['SiteName', 'SSP', 'IONumber', 'userkey', 'Imps', 'PlatformClientCost', 'rawplatformcost', 'rawbidprice', 'PlatformClientBid', 'RawBidCPM', 'ClientBidCPM', 'CostCPM', 'ClientCostCPM', 'BidRatio'])
df.columns
Out[222]:
Index(['SiteName', 'SSP', 'IONumber', 'userkey', 'Imps', 'PlatformClientCost',
'rawplatformcost', 'rawbidprice', 'PlatformClientBid', 'RawBidCPM',
'ClientBidCPM', 'CostCPM', 'ClientCostCPM', 'BidRatio'],
dtype='object')
In [223]:
df.columns[~df.columns.str.contains(r'platform|client', case=False)]
Out[223]:
Index(['SiteName', 'SSP', 'IONumber', 'userkey', 'Imps', 'rawbidprice',
'RawBidCPM', 'CostCPM', 'BidRatio'],
dtype='object')
</code></pre>
<p>在这里,我们可以传递一个regex模式和<code>case=False</code>,这样您就不需要<code>lower</code>,这将返回一个布尔掩码:</p>
^{pr2}$
<p>然后我们应用求反运算符<code>~</code>来反转布尔掩码并屏蔽列数组。在</p>