Выполнение случайного случайного выбора только для определенного типа столбцов данных - PullRequest
2 голосов
/ 11 июня 2019

У меня есть датафрейм, который содержит столбцы типа int и string.Я хочу добавить столбец с именем «MIN» и для каждой строки выберите имя столбца, который содержит наименьшее значение из десятичных.

Когда я удалил все строковые столбцы, все работает отлично, теперь мне нужнодобавить условие, чтобы пропустить столбцы 'object', но все не удается - сохранить их в отдельном кадре данных, добавить условие AND и т. д.

h_data:
size, price, facilities, service, country
9, 101,  6, 9, fr
10, 15, 14, 6, us
8, 54, 9, 8, il
-- This used to work when I had only int values
h_data['MIN'] = [np.random.choice(h_data.columns[x == x.min()], 1)[0] for x in h_data.values]

Я ожидаю получить новый столбец с именем MIN, которыйбудет содержать имя столбца, который содержит наименьшее целое число в строке.

1 Ответ

0 голосов
/ 11 июня 2019

Поскольку вы делаете случайный выбор, не имеет значения, какой столбец заполняется, пока выполняется условие. Использование:

df['MIN']=df.isin(df.min(axis=1)).dot(df.columns+',').str.split(',').str[0]
print(df)

   size  price  facilities  service country         MIN
0     9    101           6        9      fr  facilities
1    10     15          14        6      us     service
2     8     54           9        8      il        size
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...