擅长:python、mysql、java
<p>假设您的空格是<code>NaN</code>s,请将<code>df.notnull</code>与numpy的索引和<code>reshape</code>结合使用。请注意,花哨的列命名逻辑适用于任意数量的列。你知道吗</p>
<pre><code>print(df)
ColA ColB ColC ColD ColF ColG ColH
0 A NaN b NaN NaN NaN D
1 NaN W NaN NaN R NaN D
2 J NaN NaN H NaN T NaN
3 Q NaN A NaN NaN NaN O
m = df.notnull()
x = m.sum(1).max()
df = pd.DataFrame(df.values[m].reshape(-1, x))\
.rename(columns=lambda x: 'Col_' + chr(ord('A') + x))
print(df)
Col_A Col_B Col_C
0 A b D
1 W R D
2 J H T
3 Q A O
</code></pre>
<p>如果您的数据帧包含空格,则使用<code>df.ne</code>,其余的相同。你知道吗</p>
<pre><code>m = df.ne('')
</code></pre>
<hr/>
<p>如果这就是你的CSV文件的样子,那么你就不需要这些了。相反,在加载CSV时,可以使用<code>pd.read_csv</code>将问题消灭在萌芽状态:</p>
<pre><code>df = pd.read_csv('file.csv', skiprows=1, delim_whitespace=True)
</code></pre>
<p>如果需要,可以使用<code>rename</code>重命名列,如上所述。你知道吗</p>