Tôi có một CSV chứa dữ liệu thời tiết như nhiệt độ tối đa và tối thiểu, lượng mưa, kinh độ và vĩ độ của các trạm thời tiết, v.v ... Mỗi loại dữ liệu được lưu trữ trong một cột duy nhất.
Tôi muốn tìm vị trí của nhiệt độ tối đa và tối thiểu. Tìm tối đa hoặc tối thiểu là dễ dàng: numpy.min [my_temperatures_column]
Làm thế nào tôi có thể tìm thấy vị trí của vị trí của tối thiểu hoặc tối đa, vì vậy tôi có thể tìm thấy vĩ độ và kinh độ?
Đây là nỗ lực của tôi:
def coldest_location[data]:
coldest_temp= numpy.min[mean_temp]
for i in mean_temp:
if mean_temp[i] == -24.6:
print i
Lỗi: Danh sách chỉ số phải là int
Tôi đã lưu từng cột của CSV của mình vào các biến, vì vậy tất cả chúng đều là danh sách riêng lẻ.
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
Tôi đã giải quyết vấn đề theo danh sách đề xuất.index [x]
mean_temp.index[coldest_temp]
coldest_location=[long[5],lat[5]]
Không chắc chắn nếu đặt câu hỏi thứ hai trong một câu hỏi là đúng, nhưng nếu có hai vị trí có cùng nhiệt độ tối thiểu thì sao? Làm thế nào tôi có thể tìm thấy cả hai và chỉ số của họ?
James Taylor
5.9387 Huy hiệu vàng48 Huy hiệu bạc70 Huy hiệu đồng7 gold badges48 silver badges70 bronze badges
Hỏi ngày 2 tháng 12 năm 2014 lúc 23:13Dec 2, 2014 at 23:13
2
Bạn đã nghĩ về việc sử dụng phương pháp
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
4 của danh sách Python chưa? Nó trả lại chỉ mục trong danh sách nơi tìm thấy trường hợp đầu tiên của 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
5 được thông qua.Đã trả lời ngày 2 tháng 12 năm 2014 lúc 23:28Dec 2, 2014 at 23:28
AaronaaronAaron
2.2473 huy hiệu vàng27 Huy hiệu bạc33 Huy hiệu đồng3 gold badges27 silver badges33 bronze badges
3
Không thực sự nhìn thấy dữ liệu của bạn, thật khó để nói cách tìm vị trí của Max và Min trong trường hợp cụ thể của bạn, nhưng nói chung, bạn có thể tìm kiếm các vị trí như sau. Đây chỉ là một ví dụ đơn giản dưới đây:
In [9]: a=np.array[[5,1,2,3,10,4]]
In [10]: np.where[a == a.min[]]
Out[10]: [array[[1]],]
In [11]: np.where[a == a.max[]]
Out[11]: [array[[4]],]
Ngoài ra, bạn cũng có thể làm như sau:
In [19]: a=np.array[[5,1,2,3,10,4]]
In [20]: a.argmin[]
Out[20]: 1
In [21]: a.argmax[]
Out[21]: 4
James Taylor
5.9387 Huy hiệu vàng48 Huy hiệu bạc70 Huy hiệu đồng7 gold badges48 silver badges70 bronze badges
Hỏi ngày 2 tháng 12 năm 2014 lúc 23:13Dec 2, 2014 at 23:24
Bạn đã nghĩ về việc sử dụng phương pháp
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
4 của danh sách Python chưa? Nó trả lại chỉ mục trong danh sách nơi tìm thấy trường hợp đầu tiên của 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
5 được thông qua.MarcinĐã trả lời ngày 2 tháng 12 năm 2014 lúc 23:2812 gold badges169 silver badges231 bronze badges
1
Aaronaaron
if value in my_list:
value_index = my_list.index[value]
2.2473 huy hiệu vàng27 Huy hiệu bạc33 Huy hiệu đồng
try:
value_index = my_list.index[value]
except:
value_index = -1
Không thực sự nhìn thấy dữ liệu của bạn, thật khó để nói cách tìm vị trí của Max và Min trong trường hợp cụ thể của bạn, nhưng nói chung, bạn có thể tìm kiếm các vị trí như sau. Đây chỉ là một ví dụ đơn giản dưới đây:
James Taylor
5.9387 Huy hiệu vàng48 Huy hiệu bạc70 Huy hiệu đồng7 gold badges48 silver badges70 bronze badges
Hỏi ngày 2 tháng 12 năm 2014 lúc 23:13Feb 16, 2016 at 16:15
Gary02127Gary02127Gary02127
Bạn đã nghĩ về việc sử dụng phương pháp
4 của danh sách Python chưa? Nó trả lại chỉ mục trong danh sách nơi tìm thấy trường hợp đầu tiên của 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
5 được thông qua.1 gold badge23 silver badges28 bronze badgeslat = [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
3
Đã trả lời ngày 2 tháng 12 năm 2014 lúc 23:28value in a list x using index[], like so:
x.index[value]
Aaronaaron
value = 1
x = [1,2,3,4,5,6,2,1,4,5,6]
chunk_a = x[:int[len[x]/2]] # get the first half of x
chunk_b = x[int[len[x]/2]:] # get the rest half of x
print[chunk_a.index[value]]
print[chunk_b.index[value]]
2.2473 huy hiệu vàng27 Huy hiệu bạc33 Huy hiệu đồng
Không thực sự nhìn thấy dữ liệu của bạn, thật khó để nói cách tìm vị trí của Max và Min trong trường hợp cụ thể của bạn, nhưng nói chung, bạn có thể tìm kiếm các vị trí như sau. Đây chỉ là một ví dụ đơn giản dưới đây:Apr 11, 2019 at 13:39
Ngoài ra, bạn cũng có thể làm như sau:karlzafiris
Đã trả lời ngày 2 tháng 12 năm 2014 lúc 23:243 gold badges25 silver badges30 bronze badges
Marcinmarcin
obj = [
{
"subjectId" : "577a54c09c57916109142248",
"evaluableMaterialCount" : 0,
"subjectName" : "ASP.net"
},
{
"subjectId" : "56645cd63c43a07b61c2c650",
"subjectName" : ".NET",
},
{
"subjectId" : "5656a2ec3c43a07b61c2bd83",
"subjectName" : "Python",
},
{
"subjectId" : "5662add93c43a07b61c2c58c",
"subjectName" : "HTML"
}
]
188K12 Huy hiệu vàng169 Huy hiệu bạc231 Huy hiệu Đồng
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
0Như Aaron tuyên bố, bạn có thể sử dụng
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
4, nhưng vì điều đó sẽ ném một ngoại lệ nếu không có mặt, bạn nên xử lý trường hợp đó, ngay cả khi bạn chắc chắn điều đó sẽ không bao giờ xảy ra. Một vài tùy chọn là bằng cách kiểm tra sự hiện diện của nó trước, chẳng hạn như:Mar 7, 2019 at 0:00
hoặc bằng cách nắm bắt ngoại lệ như trong:Haris Np
Bạn không bao giờ có thể sai với việc xử lý lỗi thích hợp.8 silver badges15 bronze badges
Đã trả lời ngày 16 tháng 2 năm 2016 lúc 16:15
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
14.7811 Huy hiệu vàng23 Huy hiệu bạc28 Huy hiệu đồngFeb 22, 2021 at 12:26
Đối với câu hỏi đầu tiên của bạn, hãy tìm vị trí của một số giá trị trong danh sách x bằng index [], như vậy:Ahad aghapour
Đối với câu hỏi thứ hai của bạn, để kiểm tra nhiều giá trị giống nhau, bạn nên chia danh sách của mình thành các khối và sử dụng cùng một logic từ phía trên. Họ nói phân chia và chinh phục. Nó hoạt động. Thử cái này:1 gold badge23 silver badges33 bronze badges
Hy vọng điều đó sẽ giúp!
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
2
Đã trả lời ngày 11 tháng 4 năm 2019 lúc 13:39Sep 26, 2017 at 13:03
1
Karlzafiriskarlzafiris
2.9833 huy hiệu vàng25 Huy hiệu bạc 30 Huy hiệu Đồng
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
3Giả sử nếu danh sách là một tập hợp các đối tượng như được đưa ra dưới đây:Jan 30, 2018 at 14:32