首页 > 解决方案 > 如何在不创建临时列的情况下从 pandas 数据框列计算最小值?

问题描述

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

标签: pythonpandasdataframemin

解决方案


在不创建新列的情况下,您可以使用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))

它创建了两个中间列/系列,但由于矢量化而更快。


推荐阅读