【问题标题】:Im trying to figure out the max and min of a .csv file and i cant figure out what im doing wrong我试图找出 .csv 文件的最大值和最小值,但我无法弄清楚我做错了什么
【发布时间】:2021-12-07 21:17:19
【问题描述】:

以下是 .csv 文件中的内容示例: 实体、代码、年份、预期寿命(年) 阿富汗,AFG,1950,27.638 阿富汗,AFG,1951,27.878 阿富汗,AFG,1952,28.361 阿富汗,AFG,1953,28.852 阿富汗,AFG,1954,29.35 阿富汗,AFG,1955,29.854 阿富汗,AFG,1956,30.365 阿富汗,AFG,1957,30.882 阿富汗,AFG,1958,31.403 阿富汗,AFG,1959,31.925 阿富汗,AFG,1960,32.446 阿富汗,AFG,1961,32.962 阿富汗,AFG,1962,33.471 阿富汗,AFG,1963,33.971 阿富汗,AFG,1964,34.463 阿富汗,AFG,1965,34.948 阿富汗,AFG,1966,35.43 阿富汗,AFG,1967,35.914 阿富汗,AFG,1968,36.403 阿富汗,AFG,1969,36.9 阿富汗,AFG,1970,37.409 阿富汗,AFG,1971,37.93 阿富汗,AFG,1972,38.461 阿富汗,AFG,1973,39.003 阿富汗,AFG,1974,39.558 阿富汗,AFG,1975,40.128 阿富汗,AFG,1976,40.715 阿富汗,AFG,1977,41.32

【问题讨论】:

  • 请将您的代码发布为测试而不是图像。
  • 需要发布代码而不是图片

标签: python csv max min


【解决方案1】:

您正在运行一个 for 循环,然后将每一行以列表的形式存储在数据变量中。 因此, max(expectancy) 在您的情况下没有任何作用。 max 在 python 中的工作方式是 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 中的列名

【讨论】:

    【解决方案2】:

    您的示例数据可能与问题中显示的方式不同。我希望(并假设)每行只有 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}')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      相关资源
      最近更新 更多