我有一个 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
。
关于python - 创建一个新变量,它是 Python 中两个变量的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40726151/