Как удовлетворить булево условие внутри фрейма данных - PullRequest
1 голос
/ 19 октября 2019

Я работаю с образцом набора данных по алмазам. Мне нужно написать функцию, которая должна выводить записи в столбце цены, для которых записи в столбце в каратах больше, чем число 1,1 и меньше, чем 1,4.

Вот пример данных:


def exercise1(df,rowinds,colinds):
    df_1 = DataFrame(df)
    df_2 = df_1.iloc[rowinds, colinds]      
    return df_2

test_df = exercise1(diamonds,np.arange(500),np.arrange(10))
test_df

Вот моя работа на данный момент:


def exercise2(df,col,output_label,val1,val2):
    df1 = DataFrame(df)
    df2 = DataFrame(df1,
        columns=[col])
    df3 = df2.rename(columns = {col:output_label})
    df4 = df3[df3 > val1]
    df5 = df4[df4 < val2]
    df6 = df5.dropna()
    return df6

Следующий тест должен вернуть серию с ценой чисел алмазов172 и 376, однако моя возвращает алмазы с номерами 172 и 136.


test_df = exercise1(diamonds,np.arange(500),np.arange(10))
exercise2(test_df,test_df.carat,'price',1.1,1.4)

Я не могу понять, где я иду не так.

...