【发布时间】:2015-01-31 08:55:44
【问题描述】:
我有一个 CSV,其中包含天气数据,例如气象站的最高和最低温度、降水量、经度和纬度等。每种数据类别都存储在单个列中。
我想找到最高和最低温度的位置。找到最大值或最小值很容易: numpy.min(my_temperatures_column)
如何找到最小值或最大值所在的位置,以便找到经纬度?
这是我的尝试:
def coldest_location(data):
coldest_temp= numpy.min(mean_temp)
for i in mean_temp:
if mean_temp[i] == -24.6:
print i
错误:列表索引必须是 int
我将 CSV 的每一列都保存到变量中,所以它们都是单独的列表。
lat = [row[0] for row in weather_data] # latitude
long = [row[1] for row in weather_data] # longitude
mean_temp = [row[2] for row in weather_data] # mean temperature
我已经按照建议 list.index(x) 解决了问题
mean_temp.index(coldest_temp)
coldest_location=[long[5],lat[5]]
不确定在一个问题中提出第二个问题是否合适,但如果有两个位置的最低温度相同怎么办?我怎样才能找到两者及其索引?
【问题讨论】:
-
如果您的所有数据都在单独的列表中。您可以找到
min的索引号,然后使用它来查找出现在经度和纬度列表中相同位置的元素。如果您可以粘贴您的csv文件的 sn-p,它会更容易看到
标签: python arrays numpy indexing