python制作统计图(2)

简介: 制作重叠直方图新建方法读取表格并修改索引查看修改过的索引,确定索引是否修改成功创建字典,月份作键,值用来储存当月上市的电脑数一个问题用二维数组解决切割列表,分别获得两年的数据作图成品图

制作重叠直方图


统计每月上市电脑数


新建方法


def line_chart():


读取表格并修改索引


  df = pd.read_csv("笔记本信息.csv", encoding='gb18030')
    df.reset_index(inplace=True)
    df.set_index('上市时间', inplace=True)


查看修改过的索引,确定索引是否修改成功


print(df.index)
print(df.loc[2019.1])


创建字典,月份作键,值用来储存当月上市的电脑数


times_nums = {"2019.1": 0, "2019.2": 0, "2019.3": 0, "2019.4": 0, "2019.5": 0, "2019.6": 0, "2019.7": 0,
                  "2019.8": 0, "2019.9": 0, "2019.10": 0, "2019.11": 0, "2019.12": 0, "2020.1": 0, "2020.2": 0,
                  "2020.3": 0, "2020.4": 0, "2020.5": 0, "2020.6": 0, "2020.7": 0, "2020.8": 0, "2020.9": 0,
                  "2020.10": 0, "2020.11": 0, "2020.12": 0, "2021.1": 0, "2021.2": 0, "2021.3": 0, "2021.4": 0,
                  "2021.5": 0, "2021.6": 0}


一个问题

本来打算这么写的


    for time_num in times_nums:
        print(time_num)
        times_nums[time_num] = df.loc[[time_num]]
    print(times_nums)

但是出现报错,于是进行了如下测试


  # 测试
    # for i in times_nums:
    #     a = i
    #     break
    # print(a)
    # # print(df.loc[a])      报错
    # b = str(a)
    # # print(df.loc[b])      报错
    # c = int(a)
    # # print(df.loc[c])      报错
    # d = 2019
    # # print(df.loc[d])      正常


没有找到问题所在,只能换个方法。


用二维数组解决


  df_list = df.values.tolist()
    # print(all)
    months = []
    for hang in df_list:
        months.append(hang[2])
    for month in months:
        month = str(month)
        for time_num in times_nums:
            if time_num == month:
                times_nums[time_num] = times_nums.get(time_num) + 1
    time = []
    num = []
    items = times_nums.items()
    for item in items:
        time.append(item[0][5:]), num.append(item[1])
    # print(time)
    # print(num)


切割列表,分别获得两年的数据


  nineteen_time = time[0: 12]
    nineteen_num = num[0: 12]
    twenty_time = time[12: 23]
    twenty_num = num[12: 23]


作图


plt.figure(figsize=(18, 12), dpi=300)
    plt.style.use('ggplot')
    plt.bar(twenty_time, twenty_num, width=1, color='pink', label=u'2020年', alpha=0.6)
    plt.bar(nineteen_time, nineteen_num, width=1, color='lightblue', label=u'2019年', alpha=0.6)
    plt.title("各月份电脑上市数量直方图", fontdict={'fontsize': 40})
    plt.xlabel("月份", fontdict={'fontsize': 30})
    plt.ylabel("数量", fontdict={'fontsize': 30})
    plt.xticks(fontsize=25)
    plt.yticks(fontsize=25)
    plt.legend(fontsize='xx-large')
    plt.savefig('各月份电脑上市数量直方图.png', dpi=300)
    plt.show()


成品图


成品如下图所示


3.png


相关文章
|
测试技术 Python
Python:使用nltk统计词频并绘制统计图
Python:使用nltk统计词频并绘制统计图
87 0
Python:使用nltk统计词频并绘制统计图
|
Python
python制作统计图(6)
制作折线图 新建方法 读取表格 创建字典,用键值对储存月份及其对应的平均价格 30个月,每月上市的电脑的平均价格 作图 成品图
python制作统计图(6)
|
Python
python制作统计图(5)
制作并列条形图 新建方法 读取表格 按照价格区间将数据分为六部分 将六部分数据中的平均尺寸存为一个列表 将六部分数据中的平均制程工艺存为一个列表 价格区间作为横坐标 作图 成品图
python制作统计图(5)
|
Python
python制作统计图(4)
制作饼状图 新建方法 读取表格 数量小于100的尺寸都记为其他 作图 成品图
python制作统计图(4)
|
索引 Python
python制作统计图(3)
制作散点图 新建方法 读取表格 更改索引 作图 成品图
python制作统计图(3)
|
Python
python制作统计图(1)
制作条形图 新建方法 统计品牌个数 作无序图 作有序图 成品图
python制作统计图(1)
|
存储 人工智能 数据可视化
Python Matplotlib库:统计图补充
上两期我们讲了 Matplotlib 库的基本语法和基本绘图展示。这期我们来说说如何用 Matplotlib 库绘制常用统计图。用hist()方法来绘制直方图。用boxplot()方法来绘制箱线图。用errorbar()方法来绘制误差条图。用violinplot()方法来绘制小提琴图。用eventplot()方法来绘制尖峰栅格图。用hist2d()方法来绘制二维直方图/散点密度图。用hexbin()方法来绘制Hexbin散点图。用pie()方法来绘制扇形图。
184 0
Python Matplotlib库:统计图补充
|
测试技术 Python
Python:使用nltk统计词频并绘制统计图
Python:使用nltk统计词频并绘制统计图
99 0
Python:使用nltk统计词频并绘制统计图
|
数据可视化 Python
|
测试技术 Python
Python:使用nltk统计词频并绘制统计图
Python:使用nltk统计词频并绘制统计图
295 0
Python:使用nltk统计词频并绘制统计图