【问题标题】:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). pandasValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。熊猫
【发布时间】:2021-04-07 17:28:25
【问题描述】:

我试图在不使用内置函数的情况下找到列数据的最小值。

谁能帮我解决以下问题。

import pandas as pd
file_loc= 'filepath'
data= pd.read_csv(file_loc)
cpiData= data['cpi'].unique()
minValue =data['cpi'].head(0)
print("type of min ", type(minValue))
min=100
for i in cpiData:
    print(type(i),"min", minValue.astype(float))
    **if minValue.astype(float) > float(i): # getting the error while comparing both the values.**
        minValue=i

print(min,"Minimum value ")

【问题讨论】:

    标签: python pandas dataframe numpy


    【解决方案1】:

    第一个更正是关于如何选择的方式 minValue 的初始值。 请注意,您的公式 (data['cpi'].head(0)) 实际上意味着:

    • data['cpi'] - 取 cpi 列,
    • head(0) - 获取 0 个初始元素,

    所以结果是一个空系列

    正确的公式是:minValue = data.iloc[0].cpi,即:

    • data.iloc[0] - 从 data 中取出第一行(它是一个 Series),
    • cpi - 从中​​读取 cpi

    程序的其余部分(一个循环,带有诊断打印输出)可以 改为:

    for i in cpiData:
        print(i)
        if minValue > i:
            minValue = i
            print('New min')
    

    请注意,您的列已经是 float 类型,所以您不需要 需要将其转换为 float

    并在循环后打印结果,打印minValue, 不是minmin是内置函数):

    print('Minimum value:', minValue)
    

    实际上,您的指令min=100 覆盖了内置函数min 具有整数值。不要做这样的事情,因为它会破坏你的工作 环境。

    【讨论】:

    • 当然,我不会对变量使用任何内置函数名称。谢谢。
    【解决方案2】:

    Pandas head() 返回您的列 data['cpi']前 n 行。返回值的类型是pandas.core.series.Series

    首先,返回head(0) 可能会遇到错误。它只是返回一个空系列。

    astype() 函数将给定对象中所有元素的类型更改为给定的dtype。在这里,输入对象是 Series(由您调用 head(0) 产生),因此输出对象也将是 Series,其中包含 float 值。

    现在,您将SeriesminValue.astype(float))与floatfloat(i))进行比较,错误提示“我不知道如何将此Series 对象与float",这是有道理的。

    你可以这样做:

    minValue[0].astype(float) > float(i)
    

    将Series的第一个元素与i进行比较。但是请注意上面提到的潜在错误:您的系列实际上不包含任何内容,因为您调用的是head(0) 而不是head(1)

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 2019-01-24
      • 2020-05-27
      • 1970-01-01
      • 2021-03-21
      • 2021-05-27
      • 2022-12-29
      • 2018-07-09
      • 2020-02-12
      相关资源
      最近更新 更多