python - 使用 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')
解决方案
推荐阅读
- html - 响应式两列 CSS 网格
- r - 列出文件时在文件类型后使用美元符号“$”
- react-native - 无法启动 React Native 应用程序。TypeError: undefined is not an object (评估'domelementtype_1.ElementType.Tag')
- python - 尝试运行 sklearn 线性回归时,matmul 输入操作数 1 的核心维度错误 0 不匹配
- java - 无法更改 AVL 树中的根指针 [Java]
- javascript - 如何修复 JSON、jQuery、AJAX 和 PHP 之间的错误
- sql - 迄今为止的每月预算的统一分配
- apache-spark - 如何在pyspark中使用来自java代码的字节串处理流式RDD输出
- node.js - Node.js 服务器没有在 Heroku/问题上启动 Heroku 上的 tensorflow.js?
- javascript - Highcharts 在绿色范围内生成正数,在红色范围内生成负数