我有一个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的系列.