#python #numpy
#python #numpy
Вопрос:
Я использую numpy для добавления в новый столбец, удаленный из другого столбца. Я считаю, что разрешено только 2 аргумента, но мне нужно 3. Возможно ли это с помощью оператора elif?
Мне нужно, чтобы S3 был «виртуальной машиной», CloudWatch был «диском», а все остальное было «Другим»
Что у меня есть:
data_1 = pd.read_csv('data.csv')
data_1['ADDED_COLUMN1'] = np.where(data_1.DIMENSION.isin(['S3', 'Glacier']),
'VM', 'Other')
Вывод:
S3 VM
Glacier VM
S3 VM
S3 VM
CloudWatch VM
Athena Other
Чего я хочу:
S3 VM
Glacier VM
S3 VM
S3 VM
CloudWatch Disk
Athena Other
Как мне добавить еще 1 аргумент, чтобы получить этот результат?
Ответ №1:
Вы можете использовать numpy.select
здесь
conditions = [ data_1.DIMENSION.isin(["s3","Glacier"]), data_1.DIMENSION == "CloudWatch" ]
choices = ["VM", "Disk"]
data_1["ADDED_COLUMN1"] = np.select(conditions, choices, default="Other")
data_1
DIMENSION ADDED_COLUMN1
0 s3 VM
1 Glacier VM
2 s3 VM
3 s3 VM
4 CloudWatch Disk
5 Athena Other
Ответ №2:
Вы можете использовать этот синтаксис:
np.where((condition 1) amp; (condition 2))