首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于目标变量中标签数的For循环

基于目标变量中标签数的For循环
EN

Stack Overflow用户
提问于 2020-10-24 18:51:52
回答 1查看 191关注 0票数 0

我对python很陌生,我还学习了如何使用for循环来创建一个自动条形图。下面的代码是为具有两个类(0 ,1)的目标变量编写的。我正在尝试创建一个for循环,它可以根据目标变量中的类数来创建x0, x1, x2等等。

例如:如果我的目标变量有4个类,那么我需要用x0, x1, x2, x3xs创建Target == 0,1,2,3,并以类似的方式为4个类创建trace1trace2trace3trace4

有人能帮我一下吗?

代码语言:javascript
复制
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):
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-24 21:43:05

这应该适用于你:

代码语言:javascript
复制
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')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64516919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档