
以下是.csv文件中的内容示例:实体,代码,年份,预期寿命(年)阿富汗,自动配置组,1950,27.638阿富汗,自动配置组,1951,27.878阿富汗,自动配置组,1952,28.361阿富汗,自动配置组,1953,28.852阿富汗,自动配置组,1954,29.35阿富汗,自动配置组,1956,30.365阿富汗,自动配置组,1957,30.882阿富汗,自动配置组,1958,31.403阿富汗,自动配置组,1959,31.925阿富汗,自动配置组,1960,32.446,自动配置组,1961,32.962阿富汗,自动配置组,196,33.471阿富汗,自动配置组,1964,34.463阿富汗,自动配置1965,34.948阿富汗,196,35.43阿富汗,AFG,196,35.914阿富汗,AFG,168,36.403阿富汗,AFG,1969,36.9阿富汗,AFG,1970,37.409阿富汗,AFG,1971,37.93阿富汗,AFG,1975,38.461阿富汗,AFG,1973,39.003阿富汗,AFG,1975,39.558阿富汗,1975,40.128阿富汗,AFG,1976,40.715阿富汗,AFG,197,41.32
发布于 2021-10-21 05:42:22
您正在运行for循环,然后将每一行以列表的形式存储在data变量中。因此,max(期望)在您的情况下不执行任何操作。在python中,max的工作方式是max(a,b)返回a和b中的最大值。
不管怎样,为了你的问题。将excel文件存储到数据帧中。
import pandas as pd
df = pd.read_csv ('file_name.csv')现在,df包含了带有csv内容的数据帧。
要找到最大值,您可以做的是:
df.nlargest(1, 'Life expectancy')//这里的‘期望寿命’是您的csv中的列名。
同样的,对于最小的,
df.nsmallest(1, 'Life expectancy')//这里的‘期望寿命’是csv中的列名
发布于 2021-10-21 06:43:48
您的样本数据可能看起来与问题中显示的不同。我期望(并假设)每行只有4个标记。
这里给出的答案可能看起来过于复杂,但它所做的是允许您的CSV文件包含多个不同国家的数据(采用相同的假定格式),并且通常是健壮的。
D = dict()
with open('life_expectancy.csv') as csv:
for line in csv:
try:
tokens = line.split(',')
assert len(tokens) == 4
v = float(tokens[3])
D.setdefault(tokens[0], []).append(v)
except (AssertionError, ValueError):
pass
for k, v in D.items():
print(f'Maximum life expectancy for {k} is {max(v):.2f}')
print(f'Minimum life expectancy for {k} is {min(v):.2f}')https://stackoverflow.com/questions/69656359
复制相似问题