我对python很陌生,我还学习了如何使用for循环来创建一个自动条形图。下面的代码是为具有两个类(0 ,1)的目标变量编写的。我正在尝试创建一个for循环,它可以根据目标变量中的类数来创建x0, x1, x2等等。
例如:如果我的目标变量有4个类,那么我需要用x0, x1, x2, x3为xs创建Target == 0,1,2,3,并以类似的方式为4个类创建trace1、trace2、trace3和trace4。
有人能帮我一下吗?
from scipy.stats import skew
from scipy.stats import kurtosis
def plotBarCat(df,feature,target):
x0 = df[df[target]==0][feature]
x1 = df[df[target]==1][feature]
trace1 = go.Histogram(
x=x0,
opacity=0.75
)
trace2 = go.Histogram(
x=x1,
opacity=0.75
)
data = [trace1, trace2]
layout = go.Layout(barmode='overlay',
title=feature,
yaxis=dict(title='Count'
))
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='overlaid histogram')
def DescribeFloatSkewKurt(df,target):发布于 2020-10-24 21:43:05
这应该适用于你:
def plotBarCat(df,feature,target):
# use set to get unique classes
classes = set(df[target])
# create list for traces
data = []
for c in classes:
z = df[df[target] == c][feature]
trace = go.Histogram(x=z, opacity=0.75)
data.append(trace)
layout = go.Layout(barmode='overlay',
title=feature,
yaxis=dict(title='Count'
))
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='overlaid histogram')https://stackoverflow.com/questions/64516919
复制相似问题