创建一个新变量,它是Python中两个变量的最小值

我有一个pd数据帧.我想要做的是生成一个新变量,其值是另外两个变量之间的最小值.

例如,假设我有:

   a  b  
0  1  0  
1  5  1  
2  7  3  
3  3  5  

我想创建一个如下所示的新变量C:

   a  b  c  
0  1  0  0
1  5  1  1
2  7  3  3
3  3  5  3

我试着写一个循环去做,但由于我有超过30k的观察,它需要太长时间. min似乎没有做我想要的.有没有简洁的方法来解决它?非常感谢你的帮助!

最佳答案 在这种情况下,您可以使用:

df['c'] = df[['a', 'b']].min(axis=1)

因此,您要对所需的列进行子集化(使用df [[‘a’,’b’]]),然后将min函数应用于列的值而不是行,从而为您指定一个可以指定为列c的系列.

点赞