在 python 中绘制箱线图而不对数据进行分组
Plotting box plots in python without grouping the data
我想根据存储在另一个数组 (one_zero_map
) 中的 1,0 映射为数据框 xldata['yaxis_data']
中的变量绘制箱形图。
我有一个工作代码,我只是不确定这是否是最好的方法。任何帮助都会很棒。
我不确定的原因是我猜如果我直接输入 one_zero_map
和 xldata['yaxis_data']
而不创建 good_ones 和 [,箱线图应该有一种直接的方式来理解我想要的东西=31=] 然后将它们放入名为 final_list
的列表中
%matplotlib inline
import matplotlib.pyplot as plt
good_ones=[val for ind, val in zip(one_zero_map,xldata['yaxis_data']) if ind==1]
bad_ones=[val for ind, val in zip(one_zero_map,xldata['yaxis_data']) if ind==0]
final_list=[good_ones,bad_ones]
plt.boxplot(final_list)
只是为了更清楚地了解我在寻找什么,我正在寻找 Python 相当于 R 的东西,就像这样
# Boxplot of MPG by Car Cylinders
boxplot(mpg~cyl,data=mtcars, main="Car Milage Data",
xlab="Number of Cylinders", ylab="Miles Per Gallon")
或 graphlab 的 phython 等价物如
sales.show(view='BoxWhisker Plot',x='zipcode',y='price')
您可以直接从 pandas DataFrames 使用 boxplot
方法。此代码等效于您的 R 示例:
# statsmodels only needed to get the R mtcars dataset
import statsmodels.api as sm
mtcars = sm.datasets.get_rdataset('mtcars').data
mtcars.boxplot('mpg', by='cyl')
我想根据存储在另一个数组 (one_zero_map
) 中的 1,0 映射为数据框 xldata['yaxis_data']
中的变量绘制箱形图。
我有一个工作代码,我只是不确定这是否是最好的方法。任何帮助都会很棒。
我不确定的原因是我猜如果我直接输入 one_zero_map
和 xldata['yaxis_data']
而不创建 good_ones 和 [,箱线图应该有一种直接的方式来理解我想要的东西=31=] 然后将它们放入名为 final_list
%matplotlib inline
import matplotlib.pyplot as plt
good_ones=[val for ind, val in zip(one_zero_map,xldata['yaxis_data']) if ind==1]
bad_ones=[val for ind, val in zip(one_zero_map,xldata['yaxis_data']) if ind==0]
final_list=[good_ones,bad_ones]
plt.boxplot(final_list)
只是为了更清楚地了解我在寻找什么,我正在寻找 Python 相当于 R 的东西,就像这样
# Boxplot of MPG by Car Cylinders
boxplot(mpg~cyl,data=mtcars, main="Car Milage Data",
xlab="Number of Cylinders", ylab="Miles Per Gallon")
或 graphlab 的 phython 等价物如
sales.show(view='BoxWhisker Plot',x='zipcode',y='price')
您可以直接从 pandas DataFrames 使用 boxplot
方法。此代码等效于您的 R 示例:
# statsmodels only needed to get the R mtcars dataset
import statsmodels.api as sm
mtcars = sm.datasets.get_rdataset('mtcars').data
mtcars.boxplot('mpg', by='cyl')