我有一个数据框,其中包含int和字符串类型的列。 我想添加一个名为“ MIN”的列,并为每一行从小数点中选择包含最小值的列名。
当我删除所有字符串列时,它可以正常工作,现在我需要添加一个条件来跳过“对象”列,但一切都会失败-将它们存储在单独的数据框中,添加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”的新列,其中将包含每行包含最小整数的列名。
答案 0 :(得分:0)
由于您进行了随机选择,因此只要满足条件,填充哪一列都没有关系。使用:
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