首页 > 解决方案 > 使用 matplotlib 绘制人口普查局的原始数据

问题描述

我正在尝试分析来自人口普查局的一些收入统计数据。我下载的数据来自:美国人口普查数据

下载数据后,我将其转换为 excel,将其转换为 csv 文件,然后使用 csv reader 加载到 python 中。在进行更复杂的统计分析之前,我想制作一个简单的条形图来可视化数据。我仍然停留在简单的条形图上。

数据很简单,第一列是税级,它是数据类型'str'。例如:“5,000 美元以下”、“5,000 美元至 9,999 美元”、...

第二列是户数,数据类型为'int'。

我不断收到错误消息“+: 'int' 和 'str' 不支持的操作数类型”

我认为通过创建一个与我的字符串列表大小相同的数组,我可以绘制数据并将税级信息放在“xticks”中。我究竟做错了什么?

我实际上使用与此完全相同的格式:条形图

我真的不熟悉熊猫,我不想使用它,因为它会为我打开另一罐蠕虫。有没有人有一个常规的旧 python 修复程序?

请不要跳过步骤或假设我很聪明。

这是我的代码:

import csv
import numpy as np
import matplotlib.pyplot as plt


# Make empty lists to put data into
brackets = []
households = []

# import raw data into lists
with open("income_data_2017.csv") as csvfile:
        reader = csv.reader(csvfile)
        for row in reader:
            brackets.append(row[0])
            households.append(row[1])

# Check that data was imported correctly
print brackets
print households

# Make an array the correct length for bar plot
x = np.arange(len(brackets))

# Plot the data using the string of income brackets
plt.bar(x, households, align='center', alpha=0.5)
plt.xticks(x, brackets)
plt.title('Distribution of Income in United States, 2017')
plt.ylabel('Households')
plt.xlable('Income Brackets')

标签: pythoncsvmatplotlib

解决方案


推荐阅读