【发布时间】:2015-03-27 20:44:12
【问题描述】:
我从文件中导入数据以制作散点图。来自 csv 文件的数据并不完全是我要绘制的数据,至于第二个 col,我希望 col 中先前条目的总和成为我的 y 轴。
我无法使用 map 命令从数组转换为对数据求和。当我收到错误消息时:
TypeError: 'numpy.float64' 对象不可迭代
from matplotlib import pyplot
import numpy
x,y = numpy.loadtxt ('LAX_booths_data_set_1.csv',
unpack = True,
delimiter = ',')
x2,y2 = numpy.loadtxt ('LAX_booths_data_set_2.csv',
unpack = True,
delimiter = ',')
newy = map(sum, y)
newy2 = map(sum, y2)
pyplot.plot(x,newy)
pyplot.plot(x2,newy2)
pyplot.title('Comparing Different Booth Schedules')
pyplot.ylabel('Number of Booths (Total)')
pyplot.xlabel('Time (Minutes)')
pyplot.show()
【问题讨论】:
-
您是否打印出
y和/或y2以查看它们与您的预期有何不同? (顺便说一句:这里没有必要使用map,因为numpy有一个更简单更快的sum方法,但不妨从你所在的位置开始。)[我在这里假设它是map这导致了问题 - 您没有发布完整的回溯。] -
是的 x 和 y 的内容示例会有所帮助
-
完整回溯:文件“C:\Users\fkrueg1\Dropbox\forest_python_test\Graphnew.py”,第 12 行,在
newy = map(sum, y) TypeError: 'numpy.float64 ' 对象不可迭代 -
x 是 [ 30. 100. 200. 400. 600. 900. 1200. 1400. 1450.] y 是 [ 10. -5. 20.-5。 50。-20。 30.-20。 20.]
-
你希望 newy 是 y 的累积和吗? [10., 5., 25., 20. ... ]
标签: python arrays dictionary plot scatter