擅长:python、mysql、java
<p>这里有一种使用<code>groupby</code>+<code>pd.concat</code>的方法。您可以显式定义<code>countries</code>,也可以使用您喜爱的源代码</p>
<pre><code>df = pd.DataFrame({'col': ['Japan', 'valA', 'valB', 'Ghana', 'valC', 'valD']})
countries = ['Japan', 'Ghana']
grouper = df['col'].groupby(df['col'].isin(countries).cumsum())
dfs = (pd.DataFrame({'Country': df_ctry.iat[0], 'Value': df_ctry.iloc[1:]}) \
for _, df_ctry in grouper)
res = pd.concat(dfs, ignore_index=True)
print(res)
Country Value
0 Japan valA
1 Japan valB
2 Ghana valC
3 Ghana valD
</code></pre>