【python 3.8】
?AttributeError: 'numpy.ndarray' object has no attribute 'quantile'
报错在于nparray无法使用quantile函数,修改为dataframe后可以使用
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
进行比较的序列很模糊,输出后发现quantile返回值并不仅仅是具体数值。使用float将其限定
修改后的代码为:
import pandas as pd
import numpy as np
out=[]
y = np.array([12,13,14,19,21,23,45])
yy = pd.DataFrame(y)#需要df使用quantile
def iqr_outliers(df):
q1 = df.quantile(0.25)
q3 = df.quantile(0.75)
iqr = q3-q1
Lower_tail = q1 - 1.5 * iqr
Upper_tail = q3 + 1.5 * iqr
for i in df.iloc[:,0]:
if i > float(Upper_tail) or i < float(Lower_tail):#float限定
out.append(i)
print("Outliers:",out)
iqr_outliers(yy)
参考:https://blog.csdn.net/ailo555/article/details/82853606/
|