擅长:python、mysql、java
<p>您可以使用<code>stack</code>、<code>set_index</code>和<code>unstack</code>这样做:</p>
<pre><code>from io import StringIO
txt = StringIO("""2345 abcd mobile oneplus
4567 abbb internet explorer
mozilla 2345 cccc dddd
eeee bbbb 1234 hello""")
df = pd.read_csv(txt, header=None, sep='\s+')
df = df.stack().reset_index(drop=True)
df1 = df.to_frame().set_index(df.str.isnumeric().cumsum())
df_out = df1.set_index(df1.groupby(level=0).cumcount(), append=True)[0].unstack()
df_out
</code></pre>
<p>输出:</p>
<pre><code> 0 1 2 3 4
1 2345 abcd mobile oneplus NaN
2 4567 abbb internet explorer mozilla
3 2345 cccc dddd eeee bbbb
4 1234 hello NaN NaN NaN
</code></pre>