擅长:python、mysql、java
<p>尝试<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.explode.html#pandas-dataframe-explode" rel="nofollow noreferrer">^{<cd1>}</a>+<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.crosstab.html#pandas-crosstab" rel="nofollow noreferrer">^{<cd2>}</a>加上页边+<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html#pandas-dataframe-iloc" rel="nofollow noreferrer">^{<cd3>}</a>以去除底部页边:</p>
<pre><code>new_df = df.explode('values')
new_df = (
pd.crosstab(new_df['keys'], new_df['values'],
margins=True, margins_name='Total')
.iloc[:-1]
.rename_axis(columns=None)
.reset_index()
)
</code></pre>
<p><code>new_df</code>:</p>
<pre><code> keys eats leaves shoots Total
0 panda1 1 0 1 2
1 panda2 0 1 1 2
2 panda3 1 1 0 2
</code></pre>