擅长:python、mysql、java
<p>正如<a href="https://stackoverflow.com/users/1494637/stefan">Stefan</a>所回答的,在指定的列上使用<code>value_counts()</code>就可以了。你知道吗</p>
<p>由于要将多个数据帧保存到一个工作簿中,因此我将使用<code>pandas.ExcelWriter</code>:</p>
<pre><code>import pandas as pd
writer = pd.ExcelWriter('file_name.xlsx')
df.to_excel(writer) # this one writes to 'Sheet1' by default
pd.Series.to_frame(df.Manufacturer.value_counts()).to_excel(writer, 'Sheet2')
writer.save()
</code></pre>
<p>不必使用<code>openpyxl</code>。如<a href="http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.DataFrame.to_excel.html" rel="nofollow noreferrer">^{<cd4>}</a>文档所述</p>
<blockquote>
<p>If passing an existing ExcelWriter object, then the sheet will be added to the existing workbook. This can be used to save different DataFrames to one workbook</p>
</blockquote>
<p>注意,为了使用<code>to_excel()</code>,必须将<code>Series</code>(从<code>value_counts()</code>返回)强制转换为<code>DataFrame</code>。这可以如上所述(通过<code>to_frame()</code>)或通过使用:</p>
<pre><code>pd.DataFrame(df.Manufacturer.value_counts()).to_excel(writer, 'Sheet2')
</code></pre>
<p>虽然第一个通常要快一点,但第二个可能被认为更具可读性。你知道吗</p>