这是我的数据框:
{'Parameter': {0: 'A', 1: 'A', 2: 'A', 3: 'A', 4: 'A', 5: 'A', 6: 'A', 7: 'A'},
'Site': {0: 'S1',
1: 'S2',
2: 'S1',
3: 'S2',
4: 'S1',
5: 'S2',
6: 'S1',
7: 'S2'},
'Value': {0: 2.3399999999999999,
1: 2.6699999999999999,
2: 2.5600000000000001,
3: 2.8900000000000001,
4: 3.4500000000000002,
5: 4.4500000000000002,
6: 3.6699999999999999,
7: 4.5599999999999996}}
我试图按站点绘制参数的boxplot。什么是最简单的方法呢?另外一个问题是,如果我有超过1个参数,那么使用matplotlib参数绘制boxplot最简单的方法是什么?谢谢
答案 0 :(得分:2)
你想要使用DataFrame.boxplot
方法和分组,参数"和"网站"列。
import matplotlib.pyplot as plt
from pandas import DataFrame
df = DataFrame({'Parameter': ['A',]*8,
'Site': ['S1', 'S2', 'S1', 'S2', 'S1', 'S2', 'S1', 'S2'],
'Value': [2.34, 2.67, 2.56, 2.89, 3.45, 4.45, 3.67, 4.56]})
df.boxplot(by=['Parameter', 'Site'])
plt.show()
如果您要绘制数据的特定列,可以使用column
关键字boxplot
。
# Plot single value
df.boxplot(column='Value', by=['Parameter', 'Site'])
# Plot Multiple values
df.boxplot(column=['Value', 'OtherValue'], by=['Parameter', 'Site'])