擅长:python、mysql、java
<p>如果要更改以<code>Distance</code>开头的每个列的类型,可以使用循环:</p>
<pre><code>list_col = []
for col in a.columns:
if (len(col) > 8) & (col[:8] == 'Distance'):
list_col.appen(col)
a[list_col] = a[list_col].astype(int)
</code></pre>
<p>然后创建一个连接不同距离值的数据帧:</p>
<pre><code>frames = []
for i in len(list_col):
temp = df[['Head1','Header'+str(i),list_col[i]]]
temp.columns = ['Head1','Header','Distance']
frames.append(temp)
output = pd.concat(drames)
</code></pre>
<p>(请注意,这意味着您的列名格式良好,您可能必须使其适应<code>append</code>中的实际名称)</p>
<p>然后过滤:</p>
<pre><code>output = out[out.Distance >= 100000]
</code></pre>
<p>这可能在第一次尝试数据帧时不起作用,因为我假设您的数据帧列(只有我们感兴趣的列)的调用方式如下:</p>
<pre><code>Head1 Header0 Distance0 Header1 Distance1 Header2 Distance2
</code></pre>
<p>等等。。。(再说一次,我们不关心其他列,因为它们不会干扰此代码)</p>