Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

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ọ?

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

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

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

AaronaaronAaron

2.2573 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 badges171 silver badges235 bronze badges

1

Aaronaaron

if value in my_list:
    value_index = my_list.index(value)

2.2573 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

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

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.GaryMBloom

Đã trả lời ngày 2 tháng 12 năm 2014 lúc 23:281 gold badge23 silver badges29 bronze badges

3

Aaronaaronvalue in a list x using index(), like so:

x.index(value)

2.2573 huy hiệu vàng27 Huy hiệu bạc33 Huy hiệu đồng

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))

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:

Ngoài ra, bạn cũng có thể làm như sau:Apr 11, 2019 at 13:39

Đã trả lời ngày 2 tháng 12 năm 2014 lúc 23:24karlzafiris

Marcinmarcin3 gold badges26 silver badges31 bronze badges

189K12 Huy hiệu vàng171 Huy hiệu bạc235 Huy hiệu Đồng

obj =  [
        {

            "subjectId" : "577a54c09c57916109142248", 
            "evaluableMaterialCount" : 0, 
            "subjectName" : "ASP.net"

        }, 
        {

            "subjectId" : "56645cd63c43a07b61c2c650", 
            "subjectName" : ".NET",         
        }, 
        {

            "subjectId" : "5656a2ec3c43a07b61c2bd83", 
            "subjectName" : "Python",

        }, 
        {

            "subjectId" : "5662add93c43a07b61c2c58c", 
            "subjectName" : "HTML"
        }
    ]

Như 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ư:

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 
0

hoặc bằng cách nắm bắt ngoại lệ như trong:Mar 7, 2019 at 0:00

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

Bạn không bao giờ có thể sai với việc xử lý lỗi thích hợp.Haris Np

Đã trả lời ngày 16 tháng 2 năm 2016 lúc 16:158 silver badges15 bronze badges

GaryMbloomGaryMbloom

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 
1

4,8011 Huy hiệu vàng23 Huy hiệu bạc29 Huy hiệu đồngFeb 22, 2021 at 12:26

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

Đố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

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?

Đã 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àng26 Huy hiệu bạc31 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 
3

Giả 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

Hướng dẫn how do you find the index of an array element in python? - làm thế nào để bạn tìm thấy chỉ mục của một phần tử mảng trong python?