如何从熊猫数据框列计算最小值,而不创建临时列?

问题描述 投票:2回答:1

假设我有一个熊猫数据框df,其中包含列ABC。我想从列上的算术运算符(特别是df['D']=min(df['A']+dF['B']*3, df['C']*np.sqrt(12)))计算逐行最小值。我看到了相关的问题,似乎我需要首先为min函数中的参数创建两列,然后它们执行minaxis =1。我想知道是否还有另一种方法,而不创建临时列。

python pandas dataframe min
1个回答
1
投票

无需创建新列,您可以使用apply

df['D'] = df.apply(lambda x: min(x['A'] + x['B']*3, x['C']*np.sqrt(12), axis=1)

但是最好这样做:

df['D'] = np.mininum(df['A']+dF['B']*3, df['C']*np.sqrt(12))

创建两个中间列,但由于矢量化,速度更快。

© www.soinside.com 2019 - 2024. All rights reserved.