如何在不创建临时列的情况下从 pandas 数据框列计算最小值?
Posted
技术标签:
【中文标题】如何在不创建临时列的情况下从 pandas 数据框列计算最小值?【英文标题】:How do you compute minimum from pandas data frame columns, without creating temporary column? 【发布时间】:2020-09-20 03:16:38 【问题描述】:假设,我有一个熊猫数据框df
,其中包含A
、B
和C
列。我想从列上的算术运算符计算逐行最小值,特别是df['D']=min(df['A']+dF['B']*3, df['C']*np.sqrt(12))
。我看过相关的问题,看来我需要先为min
函数中的参数创建两列,它们执行min
的axis =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))
它创建了两个中间列/系列,但由于矢量化而速度更快。
【讨论】:
击败我。apply
也采用 dict
和 col
: func
。以上是关于如何在不创建临时列的情况下从 pandas 数据框列计算最小值?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用for循环的情况下从pyspark中的列表创建数据框?
如何在不使用临时文件的情况下从 Java 中的嵌套 zip 文件中读取数据?