【问题标题】:Plotting a Dataframe,pandas python绘制数据框,pandas python
【发布时间】:2015-09-29 16:53:39
【问题描述】:

我一直在用python做一个数据分析的例子,这个例子是婴儿名字。我生成以下格式的数据框, 年性别

1880  F       [38]     M       [14] 
1881  F       [38]     M       [14] 
1882  F       [38]     M       [15] 
1883  F       [39]     M       [15] 
1884  F       [39]     M       [16]

我使用以下例程生成了它,它返回一个索引值。

def get_quantile_count(group, q=0.5):
    group = group.sort_index(by='prop', ascending=False)
    return group.prop.cumsum().searchsorted(q) + 1

当我尝试绘制此数据框时出现错误。这些索引是否未被识别为数值?

TypeError: Empty 'DataFrame': no numeric data to plot

【问题讨论】:

    标签: python python-2.7 pandas matplotlib


    【解决方案1】:

    如果我理解您的问题,这是解决方案的演示:

    import pandas as pd
    import matplotlib as mpl
    import matplotlib.pylab as plt
    from sklearn import preprocessing
    
    
    train = pd.DataFrame([['F','1885'],['F','1884'],['F','1882'],['M','1881'],['NA','1882']],columns = ['sex','db'])
    
    #converting F/M/NA to integers
    le = preprocessing.LabelEncoder()
    le.fit(train['sex'])
    train['sex'] = le.transform(train['sex'])
    train = train.astype(float)
    
    plt.plot(train['sex'],train['db'],color='green', linestyle='dashed', marker='o',
            markerfacecolor='blue', markersize=12)
    plt.show()
    

    【讨论】:

    • 如果您创建 Figure 和 Axes 对象,您应该直接针对 Axes 进行绘图(即ax.plot(tra...)
    猜你喜欢
    • 2017-02-21
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2015-08-03
    • 1970-01-01
    相关资源
    最近更新 更多