python - 如何在不创建临时列的情况下从 pandas 数据框列计算最小值?
问题描述
假设,我有一个df
带有列的熊猫数据框A
,B
和C
。我想从列上的算术运算符计算逐行最小值,特别是df['D']=min(df['A']+dF['B']*3, df['C']*np.sqrt(12))
. 我已经看到了相关的问题,似乎我需要首先为函数中的参数创建两列,min
然后它们执行min
. axis =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))
它创建了两个中间列/系列,但由于矢量化而更快。
推荐阅读
- r - 在 R 中:用户分段的预处理
- python - 使用 Flask 使用动态创建的 html 填充 iframe
- git - 如何为 GitHub 上的问题添加标签
- node.js - Mongoose 类型映射到 Apollo GraphQL 标量类型
- c# - 将带有背景图像的图片框保存到文件
- c++ - 将 string& 传递给类方法 C++
- python - groupby lambda 并填充空行
- c++ - 如何在虚幻引擎 4 (ue4) 中创建和外包模块?
- android - Ionic 3/4 base64 图像无法在设备上显示,但在 localhost 上有效
- javascript - 按值从字符串中删除重复项