Я работаю с образцом набора данных по алмазам. Мне нужно написать функцию, которая должна выводить записи в столбце цены, для которых записи в столбце в каратах больше, чем число 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)
Я не могу понять, где я иду не так.