Я хочу создать новый столбец и присвоить ему значения из второго столбца на основе номеров индексов.
Фрейм данных df4
. Существующий столбец - SalePrice
, а новый столбец, который я хочу создать, - Label
.
Я хочу, чтобы Label
имел 3 разных значения в зависимости от номера индекса SalePrice
, поскольку SalePrice
сортируется на основе его значений.
Вот как я это сделал:
df4.loc[df4.SalePrice.index<int(len(df4.SalePrice.index)/3),"Label"]="Expensive"
df4.loc[df4.SalePrice.index>int(len(df4.SalePrice.index)/3),"Label"]="medium"
df4.loc[df4.SalePrice.index>int(len(df4.SalePrice.index)*2/3),"Label"]="Low"
так что это работает, но я думаю, что есть более эффективный и лучший способ сделать это ... Я пробовал использовать диапазон во второй командной строке
df4.loc[df4.SalePrice.index>int(len(df4.SalePrice.index)/3)& df4.SalePrice.index<int(len(df4.SalePrice.index)*2/3),"Label"]="Medium"
, но потом получаю:
"TypeError: unsupported operand type(s) for &: 'int' and 'RangeIndex'"
Буду признателен за ответ!