我是python新手,对这段代码有一个疑问(不允许使用panda)。我有一个CSV文件(名为personal_info.csv),其中不同的列标为full_name,weight_kg,height_m。我正在尝试创建一个函数,它将在weight_kg列中找到最大的数字并返回相应的名称。数字是浮点数,我正在尝试返回一个字符串(名称)。
到目前为止,这就是我的全部,我不确定如何转到csv文件中的特定列,以及如何找到相应的名称。
for number in heights:
if number > largest_number:
largest_number = number
print(largest_number)
我也看到了这段代码,但在这里应用时遇到了问题
def max_employment(countries, employment):
max_value_index = np.argmax(employment)
max_value = employment[max_value_index]
max_country = countries[max_value_index]
return (max_country, max_value)
2条答案
按热度按时间kqhtkvqz1#
我建议在
largest_number
查找算法中使用enumerate
(或range
)。Enumerate(或range)将为您提供项目的索引,当您找到更大的数字时,也可以保存该索引。也就是说,您需要存储两个值:最大值和最大值的索引。那么,索引处的名称就是你要找的名称。这个页面很好地描述了枚举、范围和索引背后的原因:
https://realpython.com/python-enumerate/
一旦你掌握了这一点,你可以尝试更多的方法,如创建一个dictionare与键(名称)和值,并使用
max
函数或使用numpy库,但所有这些都导致了相同的逻辑描述。olmpazwi2#
假设您有此csv文件:
您可以使用csv模块读取该文件:
结果:
然后,您可以使用
max
函数和一个key函数来获取某个值的:您可以使用
header
中的信头值来取得csv数据中数据行的索引:如果您只需要名称,则使用下标: