Python 定义一个以Numpy为单位计算IQR的函数

Python 定义一个以Numpy为单位计算IQR的函数,python,Python,我试图定义一个函数来计算numpy中的IQR。代码非常简单,但我一直收到一条错误消息,我无法理解 def calculate_icq(variable): icq = 0 icq += (np.percentile(df.variable, 75) - np.percentile(df.variable, 25)) return icq 当我使用一个列变量(比如calculate_icq('Price'))运行函数时,它会说'DataFrame'对象没有'variable'属性 术语“Pri

我试图定义一个函数来计算numpy中的IQR。代码非常简单,但我一直收到一条错误消息,我无法理解

def calculate_icq(variable):
icq = 0
icq += (np.percentile(df.variable, 75) - np.percentile(df.variable, 25))

return icq
当我使用一个列变量(比如calculate_icq('Price'))运行函数时,它会说'DataFrame'对象没有'variable'属性


术语“Price”不应该映射到变量并替换它吗?

您不能这样调用列。您需要使用
df[变量]

def calculate_icq(variable):
    icq = 0
    icq += (np.percentile(df[variable], 75) - np.percentile(df[variable], 25))

    return icq

你不能那样调用列。您需要使用
df[变量]

def calculate_icq(variable):
    icq = 0
    icq += (np.percentile(df[variable], 75) - np.percentile(df[variable], 25))

    return icq