擅长:python、mysql、java
<p>此代码:</p>
<pre><code>data['2013-08-17'].boxplot(by='SPECIES')
</code></pre>
<p>不会工作,因为boxplot是数据帧而不是序列的函数。</p>
<p>而在Pandas>;0.18.1中,boxplot函数有一个参数<code>columns</code>,该参数定义从哪个列获取数据。</p>
<p>所以</p>
<pre><code>data.boxplot(column='2013-08-17',by='SPECIES')
</code></pre>
<p>应返回所需的结果。</p>
<p>Iris数据集示例:</p>
<pre><code>import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('https://raw.githubusercontent.com/pandas-dev/pandas/master/pandas/tests/data/iris.csv')
fig, ax = plt.subplots(figsize=(10,8))
plt.suptitle('')
data.boxplot(column=['SepalLength'], by='Name', ax=ax)
</code></pre>
<p>创建:</p>
<p><a href="https://i.stack.imgur.com/KXjsn.png" rel="noreferrer"><img src="https://i.stack.imgur.com/KXjsn.png" alt="Boxplot iris dataset with pandas"/></a></p>
<pre><code>plt.suptitle('')
</code></pre>
<p>关闭恼人的自动字幕。当然还有
列参数接受列列表。。。所以</p>
<pre><code>data.boxplot(column=['SepalLength', 'SepalWidth'], by='Name', ax=ax)
</code></pre>
<p>同样有效。</p>