我有一些州和他们的人口,并希望打印出最大的州以及人口数量。
这是信息:
NSW 87
QLD 49
SA 14
VIC 54
WA 19
我想找到要打印出的最大值,即NSW 87
。我尝试过使用max
function:
for i,j in zip(unique10,count10):
print(max(i,j))
但它没有帮助:
TypeError: '>' not supported between instances of 'numpy.ndarray' and 'numpy.str_'
分析解答
使用built-in max
和zip
:
import numpy as np
arr = np.array([['NSW' ,'QLD' ,'SA', 'VIC', 'WA'], [87, 49, 14, 54, 19]])
arr
# array([['NSW', 'QLD', 'SA', 'VIC', 'WA'],
# ['87', '49', '14', '54', '19']], dtype='<U3')
max(zip(*arr), key=lambda x:x[1])
输出:
('NSW', '87')