[Python] Python Error: rv_generic.interval() missing 1 required positional argument:...

Discussão em 'Python' iniciado por Stack, Julho 3, 2025.

  1. Stack

    Stack Membro Participativo

    I have been trying to run the below code to calculate upper and lower confidence intervals using t distribution, but it keeps throwing the error in the subject. The piece of code is as below:

    import pandas as pd
    import numpy as np
    import scipy.stats as st

    def trans_threshold(Day):
    Tran_Cnt=Tran_Cnt_DF[['Sample',Day]].dropna()
    Tran_Cnt=Tran_Cnt.astype({'Sample':'str'})
    Tran_Cnt.dtypes
    #Finding outliers in Materiality via IQR
    X_Tran = Tran_Cnt.drop('Sample', axis=1)
    Tran_arr1 = X_Tran.values
    #Finding the first quartile
    Tran_q1= np.quantile(Tran_arr1, 0.25)
    # finding the 3rd quartile
    Tran_q3 = np.quantile(Tran_arr1, 0.75)
    # finding the iqr region
    Tran_iqr = Tran_q3-Tran_q1
    # finding upper and lower outliers
    Tran_upper_bound = Tran_q3 + (1.5*Tran_iqr)
    Tran_lower_bound = Tran_q1 - (1.5*Tran_iqr)
    # removing outliers
    Tran_arr2 = Tran_arr1[(Tran_arr1 >= Tran_lower_bound) & (Tran_arr1 <= Tran_upper_bound)]
    #Using t distribution for Materiality Limits
    Tran_Threshold_mat=st.t.interval(alpha=0.99999999999, df=len(Tran_arr2-1),
    loc=np.mean(Tran_arr2),
    scale=st.sem(Tran_arr2))
    return Tran_Threshold_mat



    trn_lim_FullFeed_Mon = trans_threshold(Day)

    ---------------------------------------------------------------------------
    TypeError Traceback (most recent call last)
    Cell In[106], line 19
    17 Tran_arr2 = Tran_arr1[(Tran_arr1 >= Tran_lower_bound) & (Tran_arr1 <= Tran_upper_bound)]
    18 #Using t distribution for Materiality Limits
    ---> 19 Tran_Threshold_mat=st.t.interval(alpha=0.99999999999, df=len(Tran_arr2-1),
    20 loc=np.mean(Tran_arr2),
    21 scale=st.sem(Tran_arr2))

    TypeError: rv_generic.interval() missing 1 required positional argument: 'confidence'


    The issue seems to be with piece of code below. However, I have provided all parameters required to calculate confidence intervals, including degrees of freedom, but it still gives this error. Where am I going wrong and what needs to be done?

    Tran_Threshold_mat=st.t.interval(alpha=0.99999999999, df=len(Tran_arr2-1),
    loc=np.mean(Tran_arr2),
    scale=st.sem(Tran_arr2))


    Also, the Tran_arr2 list looks like below:

    array([12617., 12000., 1123., 537., 8605., 4365., 11292., 12231.,
    7640., 9583., 9257., 13864., 14682., 11744., 10501., 8694.,
    5327., 10066., 13022., 11092., 7444., 11658., 14920., 12849.,
    14681., 5719., 11029., 3814., 14703., 5593., 9772., 8851.,
    9551., 15975., 6532., 13827., 8547.])


    Hence, there is no issue, up until the last like of the code block which estimates confidence intervals using t distribution.

    Continue reading...

Compartilhe esta Página